当前位置: 首页 > >

用指向指针的指针的方法对n个整数进行排序。

发布时间:

欢迎加qq群:453398542 学*讨论,会定期分享资料课程,解答问题。


用指向指针的指针的方法对n个整数进行排序。


#include ?


#include ?


#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("输入数组大小:
"); ?


? ? 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; ?


}



友情链接: