简单选择排序

 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 }

 

posted @ 2019-04-19 21:24  sqdtss  阅读(120)  评论(0编辑  收藏  举报