- void selection_sort(int *array, int size)
-
{
-
int i, j, t, min;
/* 依次选择最小值, 最后一个元素不需要比较 */
-
for (i = 0; i < size-1; ++i) {
-
min = i;
- /* 找出本次的最小值 */
-
for (j = i+1; j < size; ++j) {
-
if (array[j] < array[min]) {
-
min = j;
-
}
-
}
-
- /* 需要置换 */
-
if (min != i) {
- /* 置换本次最小值 */
-
t = array[min];
-
array[min] = array[i];
-
array[i] = t;
-
}
-
}
-
}