用C实现"选择排序"

53 阅读1分钟
  • (void)selectionSort {

    /*选择排序

     1.首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置。

     2.再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。

     3.重复第二步,直到所有元素均排序完毕。

     */

    int array[10] = {5, 27, 15, 19, 20, 44, 66, 14, 95, 63};

    int num = 10;

    for (int i = 0; i < num - 1; i ++) {

        int min = i;

        for (int j = i + 1; j < num; j ++) {

            if (array[j] < array[min]) {

                min = j;

            }

        }

        if (i != min) {

            int temp = array[min];

            array[min] = array[i];

            array[i] = temp;

        }

    }

    for (int k = 0; k < num ; k ++) {

        printf("%d ", array[k]);

    }

}