#include <iostream>
#include <vector>
using namespace std;
//1 元素拿出来
//2 符合条件的元素后移动
template<typename Comp>
void InsertionSort(vector<Comp> &a)
{
int i = 0;
int j = 0;
int k = -1;
for (i = 1; i < a.size(); i++)
{
Comp outElment = a[i]; //元素拿出来
for(j = i-1; j >= 0 && a[j] > outElment; j--)
{
a[j+1] = a[j]; //元素后移动
k = j;
}
a[k] = outElment; //元素插入
}
}
void main()
{
vector<int> a;
a.push_back(8);
a.push_back(3);
a.push_back(6);
a.push_back(1);
cout << "排序前:";
for(int i = 0; i < a.size(); i ++)
cout << a[i] << " ";
cout << endl;
InsertionSort(a);
cout << "排序后:";
for(int i = 0; i < a.size(); i ++)
cout << a[i] << " ";
cout << endl;
system("pause");
}
03_插入排序
最新推荐文章于 2023-09-23 17:47:53 发布