http://baike.baidu.com/view/547263.htm
#include <stdio.h>
#include <stdlib.h>
void select_sort(int *a, int n)
{
register int i, j, min, t;
for( i = 0; i < n - 1; i ++)
{
min = i;
for( j = i +1; j < n; j ++) //查找最小值
if( a[min] > a[j]) min = j;
if( min != i) //交换
{
t = a[min];
a[min] = a[i];
a[i] = t;
}
}
}
void main()
{
int i;
int num_array[20];
srand(0);
printf("\r\n init: ");
for(i = 0; i < 20; i++) {
num_array[i] = rand()%1000;
printf("%d ", num_array[i]);
}
select_sort(num_array, 20);
printf("\r\n select sort: ");
for(i = 0; i < 20; i++) {
printf("%d ", num_array[i]);
}
}