插入排序

最后更新于 2022-09-07 410 次阅读


#include <bits/stdc++.h>
using namespace std;

//插入排序
//首先从数组的2号位(1)开始遍历,再从同号位向前遍历
//判断如果前面一个比当前位置大 就交换他们

vector<int> nums = {1, 2, 3, 5, 6, 3, 2, 4, 6, 8};

void print(vector<int> num)
{
    for (vector<int>::iterator it = num.begin(); it != num.end(); it++)
    {
        cout << *it << " ";
    }
}

void insert_sort(vector<int> num)
{
    for (int i = 1; i < num.size(); i++)
    {
        for (int j = i; j > 0 && num[j - 1] > num[j]; j--)
        {
            int temp = num[j];
            num[j] = num[j - 1];
            num[j - 1] = temp;
        }
    }
    print(num);
}

int main()
{
    insert_sort(nums);
    return 0;
}