选择排序的C++语言实现示例

选择排序的工作原理是:第一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后再从剩余的未排序元素中寻找到最小(大)元素,然后放到已排序的序列的末尾。以此类推,直到全部待排序的数据元素的个数为零。

其C/C++语言实现的示例代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#include <iostream>

using namespace std;

const int TESTS_LENGTH = 10;


void selection_sort(int a[], int length) {

for (int i = 0; i < length - 1; i++) {
int min_idx = i;
for (int j = i + 1; j < length; j++) {
if (a[j] < a[min_idx]) {
min_idx = j;
}
}
if (min_idx != i) {
int temp = a[i];
a[i] = a[min_idx];
a[min_idx] = temp;
}
}
}


int main() {

int a[TESTS_LENGTH] = {100, 120, 110, 9, 2, 8, 1090, 20, 31, 57};


selection_sort(a, TESTS_LENGTH);

// 打印运行结果
printf("\n");
for(int i = 0; i < TESTS_LENGTH; i++) {
printf("%d ", a[i]);
}
printf("\n");

}

选择排序是不稳定的排序方法。

本文标题:选择排序的C++语言实现示例

文章作者:Morning Star

发布时间:2020年10月03日 - 15:10

最后更新:2021年04月16日 - 15:04

原始链接:https://www.mls-tech.info/cplus/cplus_selection_sort/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。