插入算法的核心思想:取一组数,从第二个数开始,先对前面的第一个数进行比较,若大于或等于便保持原位置不动,若小于便依次与前面的数进行对比(可从前到后进行比较(前插),也可从后往前进行比较(后插)),直至找到大于或者等于前面的数的位置,依次对后面的数进行这个操作直至排完所有的数。其时间复杂度为o(n^2)
后插的具体代码实现:
#include <iostream>
using namespace std;
/*后插算法的实现过程*/
void backInsertSort(int a[],int n)
{
int temp,key;
for(int i = 1; i < n; ++i)
{
temp = a[i];
for(int j = i; j > 0 && temp < a[j-1]