编写函数,用选择法将给定的无序数组从小到大排列,要求参与排序的元素的个数通过参数传递
#include<stdio.h>
sort(int a[],int n)
{ int i,j,min,temp;
for(i=0;i<n-1;i++)/*假设要排序的元素是i*/
{ min=i;
for(j=i+1;j<n;j++)/*将i后面的元素(i+1)遍历*/
{ if(a[j]<a[i])/*遍历比较大小*/
{ min=j;
temp=a[i];a[i]=a[min];a[min]=temp;/*满足比较条件交换*/
}
}
}
for(i=0;i<10;i++)
printf("%d ",a[i]);
}
main()
{ int a[10]={8,1,6,4,7,3,2,9,5,10},n=10;
sort(a,n);
}
分析:
见注释处