选择排序

 1 /**
 2  * 排序算法之选择排序
 3 **/
 4 #include <iostream>
 5 #include <vector>
 6 using namespace std;
 7 
 8 void sortXuanZe(vector<int>& vec, int n) {
 9     for (int i = 0; i < n - 1; ++i) {
10         int index = i;
11         for (int j = i + 1; j < n; ++j) {//寻找最小值,index代表的值为最小
12             if (vec[j] < vec[index]) {
13                 index = j;
14             }
15         }
16         if (index != i) {//交换最小值与已排序的下一值
17             int temp = vec[index];
18             vec[index] = vec[i];
19             vec[i] = temp;
20         }
21     }
22 }
23 
24 int main() {
25     vector<int> vec = {2,1,3,5,4};
26     int len = vec.size();
27     sortXuanZe(vec, len);
28     for (int i = 0; i < len; ++i) {
29         cout << vec[i] << endl;
30     }
31     return 0;
32 }

 

posted on 2018-03-07 08:42  狗剩的美丽家园  阅读(134)  评论(0编辑  收藏  举报

导航