C++ 插入排序

void InsertSort(int a[],int n)
{
	//在数列最前端维护一个有序序列,每次从后面无序序列中拿出一个数据然后向前查找合适的插入位置
	//每次插入时需要不断的向后移动数据位置,给插入的数据提供插入空间
	for(int i=1;i<n;i++)
	{
		int key=a[i];//取出一个尚未排序的数据
		for(int j=i-1;j>=0&&key<a[j];--j)//查找适合这个数据的插入位置
			a[j+1]=a[j];//将比他大的数据向后移动,给他插入腾出位置
		a[j+1]=key;//插入数据到合适位置
	}
}


原文地址:https://www.cnblogs.com/xinyuyuanm/p/3073204.html