发现前面一篇有误,自己写了2个选择排序
//选择排序 对n个数进行排序
void sort1(int n,int a[])
{
int i,j,k,t;
for(i=n-1;i>0;i--) //方案1 把最大的先放到底下去
{
k=i;
for(j=0;j<n-1;j++)
{
if(a[j]>a[k]) k=j;
}
//a[k]与a[i]交换
t=a[k];a[k]=a[i];a[i]=t;
}
//test
for(i=0;i<n;i++)
{
printf("%d\n",a[i]);
}
}
void sort2(int n,int a[])
{
int i,j,k,t;
for(i=0;i<n-1;i++) //方案2 把最小的放上面
{
k=i;
for(j=i+1;j<n;j++)
{
if(a[j]<a[k]) k=j;
}
t=a[k];a[k]=a[i];a[i]=t;
}
//test
for(i=0;i<n;i++)
{
printf("%d\n",a[i]);
}
}