c语言用指针写选择法排序函数

2020-10-27 国际 111阅读
你的程序没错,只不过这不是选择法,是冒泡发,选择发如下:
void sort(int *a,int n)
{
int i,j,t,temp;
for(i=0;i {
t=i;/初始定义t为未排序数的第一个
for(j=i+1;j {
if(*(a+t)<*(a+j))/挑选出更大的数的位置,把他赋给t
t=j;
}
temp=*(a+i); /t是最大的那个数的位置,把他和未排序的第一个交换位置
*(a+i)=*(a+t);
*(a+t)=temp;
}
}
main()
{
int i,a[10],*p=a;
printf("input zhe array a:\n");
for(i=0;i<10;i++)
scanf("%d",p++);
printf("\n");
p=a;
sort(p,10);
p=a;
printf("zhe sort array is:\n");
for(i=0;i<10;i++)
printf("%d,",a[i]);
getch();
}
声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com