void select_sort(int *array, unsigned int size)
{
unsigned int i = 0;
unsigned int j = 0;
unsigned int k = 0;
int tmp = 0;
// 依次确定0~size-2槽位放置的数值
for (i = 0; i <= size - 2; ++i)
{
// k表示当前剩余的最小的数值的索引
k = i;
// 遍历剩余数值,得出最小值的索引
for (j = i + 1; j < size; ++j)
{
if (array[j] < array[k])
{
k = j;
}
}
// 填充待确定的位置
if (k != i)
{
tmp = array[i];
array[i] = array[k];
array[k] = tmp;
}
}
}
原文:http://www.cnblogs.com/barrychiao/p/3795704.html