选择排序关键是第i个位置和找出剩下数组的最小数组的下标,接下来交换位置即可完成算法
代码:
#include <stdlib.h>
void selectionSort(int array[],int length){
int i;
int j;
int m;
for (i=0;i<length-1;i++)
{ m=i;
for (j=i+1;j<length;j++)
{ if(array[j]<array[ m])
m=j;
}
if(m!=i)
{int c=array[i];
array[i]=array[m];
array[m]=c;
}
}
}
int main()
{
int a[]={5,2,4,1,7,6,9,0,3};
int k;
int length=sizeof(a)/sizeof(int);
selectionSort(a,length);
for (k=0;k<length;k++)
{
printf("%d\n",a[k]);
}
return 0;
}