二重指针实现排序

Posted L的存在

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二重指针实现排序相关的知识,希望对你有一定的参考价值。

 1 //双指针对十个数排序
 2 
 3 #include <stdio.h>
 4 #include <stdlib.h>
 5 #define N 8
 6 //2017.3.5
 7 int main()
 8 {
 9     //初始化数组 赋值N个数 用指针数组指向
10     int num[N];
11     int *pNum[N];
12     int **p = NULL;
13     for (int i = 0; i < N; i++)
14     {
15         num[i] = rand() % 100;//产生随机数
16         printf("%d\\t", num[i]);
17         pNum[i] = &num[i];//这里方便二维指针
18     }
19     printf("\\n");
20     p = pNum;
21     for (int i = 0; i < N; i++)
22     {
23         for (int j = i + 1; j < N; j++)
24         {
25             if (**(p + i) >= **(p + j))
26             {
27                 int temp = **(p + i);
28                 **(p + i) = **(p + j);
29                 **(p + j) = temp;
30             }
31         }
32     }
33     //打印结果
34     for (int i = 0; i < N; i++)
35     {
36         printf("%d\\t", **(p + i));
37     }
38     getchar();
39     return 1;
40 }

以上是关于二重指针实现排序的主要内容,如果未能解决你的问题,请参考以下文章

二重指针应用

指针做参数的动态内存分配与二重指针(下)

二维数组与二重指针

指针转化(二重)

C语言指针用法详解 二重指针

C语言 二重指针深入理解