选择排序:
void selection_sort(int array[],int len)
{
int i,j ;
for(i=0;i<len-1;i++)
{
int min=i; //假设取得第i个值为最小值
for(j=i+1;j<len;j++)//从假设的最小值到最后一个一个比较
{
if(array[j]<array[min])
{
min=j;
}
}
//把比较后的真实的最小值,替换掉假设的最小值
int temp=array[i];
array[i]=array[min];
array[min]=temp;
}
}
测试代码:
#include <stdio.h>
void selection_sort(int array[],int len);
int main(int argc, char *argv[])
{
int i;
int a[10]={894,324,4,6,5,3,2,1,9,7};
selection_sort(a,10);
for(i=0;i<10;i++)
{
printf("%d\n",a[i]);
}
return 0;
}