zoukankan      html  css  js  c++  java
  • 二重指针应用

     1 //利用二重指针实现改变指针数组和数组元素之间的mapping,并没有改变原数组
     2 
     3 #include<stdio.h>
     4 int a[5];
     5 int *name[]={&a[0],&a[1],&a[2],&a[3],&a[4]};
     6 int **p;
     7 int main()
     8 {
     9     p=name;
    10     void sort(int **,int);
    11     void print(int**,int);
    12     for(int i=0;i<sizeof(a)/sizeof(int);i++)
    13         scanf("%d",*(p+i));
    14     print(p,5);
    15     sort(p,5);
    16     print(p,5);
    17     for(i=0;i<5;i++) printf("%5d",a[i]);
    18     return 0;
    19 }
    20 
    21 void sort(int **a,int n)   //没有直接对数组进行排序,而是改变了指针数组和数组之间的mapping
    22 {
    23     for(int i=0;i<n-1;i++)
    24     {
    25         int min=i;
    26         for(int j=i+1;j<n;j++)
    27         {
    28             if(**(a+min)>**(a+j))
    29             {
    30                 min=j;
    31             }
    32         }
    33         if(min!=i)
    34         {
    35             int *temp=*(a+i);
    36             *(a+i)=*(a+min);
    37             *(a+min)=temp;
    38         }
    39     }
    40 }
    41 
    42 void print(int **a,int n)
    43 {
    44     for(int i=0;i<n;i++)
    45         printf("%5d",**(a+i));
    46     printf("
    ");
    47 }

    运行结果:

  • 相关阅读:
    GoogLeNet学习笔记
    ResNet学习笔记
    VGG学习笔记
    AlexNet学习笔记
    目标检测SSD
    YOLO系列(1)—— YOLO v1
    YOLO系列(2)—— YOLO v2
    R-CNN系列(4)—— Faster R-CNN
    如何打开.ipynb文件
    机器学习中的采样
  • 原文地址:https://www.cnblogs.com/bboykaku/p/12493679.html
Copyright © 2011-2022 走看看