#include<stdio.h>
void sort(int **p,int n){
int i,j,*temp;
// 遍历数组,进行两两比较并交换,以实现冒泡排序
for(i=0;i<n-1;i++){
for(j=i+1;j<n;j++){
// 如果当前元素大于下一个元素,则交换它们
if(**(p+i)>**(p+j)){
temp=*(p+i);
*(p+i)=*(p+j);
*(p+j)=temp;
}
}
}
}
int main(){
int i,n,data[20],**p,*pstr[20];
// 获取用户输入的整数个数
printf("请输入整数的个数n:\n");
scanf("%d",&n);
// 获取用户输入的整数数据
printf("输入n个整型数字:\n");
for (i = 0; i < n; i++)
scanf("%d", &data[i]);
// 准备指针数组,以方便对数据进行排序
for (i = 0; i < n; i++)
pstr[i] = &data[i];
p=pstr;
// 调用排序函数
sort(p,n);
// 打印排序后的结果
printf("排序后的结果是:\n");
for(i=0;i<n;i++)
printf("%d ",*pstr[i]);
printf("\n");
return 0;
}
C语言函数指针的使用、函数指针数组及使用、指向函数指针数组的指针,指针进阶版的冒泡排序等介绍
2024-04-22 18:12:04 13 阅读