欢迎加qq群:453398542 学习讨论,会定期分享资料课程,解答问题。
用指向指针的指针的方法对n个整数进行排序。
#include <stdio.h>
#include <stdlib.h>
#define N 20
//交换
void swap(int *a, int *b){
int temp = *a;
*a = *b;
*b = temp;
}
//排序
void sort(int **a, int n){
int *p;
int *q;
for (p = *a; p < *a + n; ++p){
for (q = p + 1; q < *a + n; ++q){
if (*p > *q){
swap(p, q);
}
}
}
}
int main(void){
int i,n;
int a[N];
int *p[N];
printf("输入数组大小:\n");
scanf("%d", &n);
for (i = 0; i < n; ++i){
scanf("%d", &a[i]);
p[i] = &a[i];
}
sort(p, n);
for (i = 0; i < n; ++i){
printf("%3d", *p[i]);
}
return 0;
}