首页 > 代码库 > 直接插入排序

直接插入排序

直接插入排序是一种比较简单的排序方法,他的原理类似于我们玩牌的时候抓牌,手中的牌是按照一定的顺序排列的,然后摸到的牌先进行查找顺序,将牌插到应该插入的地方,直到最后一张牌的插入,那么手中的牌都是有序的。

数列的直接插入排序也是这样的,将第一个数看做是排列有序的数列,然后将后面的数依次插入到数列中:

代码如下

void _insert_sort(int *A,int size)
{
	int temp=0;
	for(int i=1;i<size;i++)
	{
		if(A[i]<A[i-1])
		{
			temp=A[i];
			int j=i-1;
			for(;j>0 && A[j]>temp;j--)
			{
				A[j+1]=A[j];
			}
			A[j+1]=temp;
		}
	}
}


直接插入排序