码迷,mamicode.com
首页 > 其他好文 > 详细

二重指针应用

时间:2020-03-14 20:04:55      阅读:48      评论:0      收藏:0      [点我收藏+]

标签:turn   idt   二重指针   alt   结果   class   col   int   mic   

 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("\n");
47 }

运行结果:

技术图片

 

二重指针应用

标签:turn   idt   二重指针   alt   结果   class   col   int   mic   

原文地址:https://www.cnblogs.com/bboykaku/p/12493679.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!