排序算法--插入排序

void insert(int a[],int n)
{
	int p,i,temp;
	if(a == NULL)
		return;
	
	for(p=1;p<n;p++)
	{
		temp = a[p];
		for(i=p;i>0 && a[i-1] > temp;i--)
			a[i]=a[i-1];
		a[i]=temp;
	}
	return;
}


在插入排序中,为了插入新的数据,将较大的元素一个一个向右移动,然后将新数据插入到空位中。在排序过程中,当前索引左边的元素都是排好序的,但是它们并不处于最终正确的位置上,因为之后它们还需要进行移动来为更小的数据腾出空间。当索引移到最右边时,数组就完全排好序了。


阅读更多
个人分类: 算法
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭