选择排序算法详解:原理、实现及示例代码
选择排序(Selection Sort)是一种简单直观的排序算法,其基本思想是:首先在未排序的数列中找到最小(大)元素,然后将其存放到数列的起始位置;接着,再从剩余未排序的元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。
具体实现过程如下:
-
遍历整个数列,找到最小元素,并将其与数列的第一个元素交换位置。
-
从剩余未排序的元素中继续寻找最小元素,将其与已排序序列的末尾元素交换位置。
-
重复以上步骤,直到所有元素均排序完毕。
以下是选择排序的示例代码:
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 著作权归作者所有。请勿转载和采集!