选择排序(Selection Sort)是一种简单直观的排序算法,其基本思想是:首先在未排序的数列中找到最小(大)元素,然后将其存放到数列的起始位置;接着,再从剩余未排序的元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。

具体实现过程如下:

  1. 遍历整个数列,找到最小元素,并将其与数列的第一个元素交换位置。

  2. 从剩余未排序的元素中继续寻找最小元素,将其与已排序序列的末尾元素交换位置。

  3. 重复以上步骤,直到所有元素均排序完毕。

以下是选择排序的示例代码:

void selectionSort(int arr[], int n) {
    int i, j, minIdx, tmp;
    for (i = 0; i < n - 1; i++) {
        minIdx = i;
        for (j = i + 1; j < n; j++) {
            if (arr[j] < arr[minIdx]) {
                minIdx = j;
            }
        }
        tmp = arr[minIdx];
        arr[minIdx] = arr[i];
        arr[i] = tmp;
    }
}
选择排序算法详解:原理、实现及示例代码

原文地址: https://www.cveoy.top/t/topic/neOE 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录