1 #include <stdio.h>
2 #include <algorithm>
3 using namespace std;
4
5 // 简单选择排序
6 void select_sort(int sz[], int len)
7 {
8 for (int i = 0; i < len; i++)
9 {
10 // 选择出剩余为排序子数组中最小(大)值,加到已排序子数组中
11 int minx = sz[i], minpos = i;
12 for (int j = i + 1; j < len; j++)
13 {
14 if (sz[j] < minx)
15 {
16 minx = sz[j];
17 minpos = j;
18 }
19 }
20 swap(sz[i], sz[minpos]);
21 }
22 }
23 int main()
24 {
25 // 初始数组
26 int a[] = {0, 5, 10, 8, 100, 50, -10, 60};
27 // 进行简单选择排序
28 select_sort(a, 8);
29 // 输出排序结果
30 for (int i = 0; i < 8; i++)
31 {
32 printf("%d%c", a[i], i == 7 ? '\n' : ' ');
33 }
34 return 0;
35 }