![]()
1 /**
2 * 排序算法值插入排序
3 **/
4 #include <iostream>
5 #include <vector>
6 using namespace std;
7
8 void sortChaRu(vector<int>& vec, int len) {
9 for (int j = 1; j < len; ++j) {
10 int key = vec[j];//待排序的第一个元素
11 int i = j - 1;//已排序的最后一个元素的索引
12
13 while (i >= 0 && key < vec[i]) {//比较已经排序过的序列,找到要插入的位置
14 vec[i + 1] = vec[i];
15 i--;
16 }
17 vec[i + 1] = key;
18 }
19 }
20
21 int main() {
22 vector<int> vec = {2,1,3,5,4};
23 int len = vec.size();
24 sortChaRu(vec, len);
25 for (int i = 0; i < len; ++i) {
26 cout << vec[i] << endl;
27 }
28 return 0;
29 }