【5】用vector进行直接插入排序

时间:2019-04-20
本文章向大家介绍【5】用vector进行直接插入排序,主要包括【5】用vector进行直接插入排序使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

百分百自己编的程序,越来越觉得编程很好玩了。

但这算是第一次自己用vector这种不是那么无脑的方法编程,只能最多对3个数进行排序wwwww

今天我要回去搬宿舍了,等明天有时间,我一定要把bug找到!

#include <iostream>
#include <vector>

using namespace std;

vector<int>a(1000);
void sortt(int p,int q,int m)
{
    if(m<a[p]) a.insert(a.begin()+p,m);
    else if(m>a[q]) a.insert(a.begin()+q+1,m);
    else{
        if(q-p==1){
            a.insert(a.begin()+q,m);
        } 
        else{
            sortt(p+1,q-1,m);
        }    
    }  
}

int main() {
    int num;
    int cnt=1;
    cin >> num;
    for(int i=0;i<num;++i)
        cin >> a[i];
    if(a[0]>a[1])
    {
        int temp;
        temp=a[0];
        a[0]=a[1];
        a[1]=temp;
    }
    for(int i=2;i<num;++i){
        sortt(0,cnt,a[i]);
        cnt++;
    }
    for(int i=0;i<num;++i)
        cout << a[i] << " ";
    return 0;
}