代码如下:

 1 #include <bits/stdc++.h>
 2 using namespace std;
 3 
 4 static void insertionSort(vector<int> &v){
 5     int sz = v.size();
 6     for(int i=1;i<sz;i++){
 7         int num = v[i];
 8         int j = i - 1;
 9         while(j>=0 && v[j]>num){
10             v[j+1] = v[j];
11             --j;
12         }
13         v[j+1] = num;
14     }
15     return;
16 }
17 
18 int main(){
19     int n;
20     while(cin>>n){
21         vector<int> v(n);
22         for(int i=0;i<n;i++)
23             cin>>v[i];
24         insertionSort(v);
25         for(int num : v)
26             cout<<num<<",";
27     }
28     return 0;
29 }

这就像是打扑克一样,原手牌有序,拿到新牌过后依次比较,直接找到目标位置插入

插入排序法师稳定排序,时间复杂度O(n²),初始序列相对有序时,处理迅速。

posted on 2020-09-09 14:53  高数考了59  阅读(130)  评论(0)    收藏  举报