1. 程式人生 > >插入排序C語言實現程式碼

插入排序C語言實現程式碼

<span style="font-size:18px;">#include<stdio.h>
void main()
{
	int A[6]={5,2,4,6,1,3};
	int i,j,key;
	for(j=1;j<6;j++)
	{
		key=A[j];//從右側牌堆中抓一張key牌,key牌即手中抓的將要插入的牌
		i=j-1;//與key牌左側第一張牌比較
		while((i>=0)&&(A[i]>key))//一直比較,將較小的牌移至左側
		{
			A[i+1]=A[i];
			i=i-1;
		}//key牌此時一直在手中,未插入
		A[i+1]=key;//插入key牌
	}
	for(i=0;i<6;i++)
	{
		printf("%d\n",A[i]);
	}
}</span>
程式碼改自演算法導論第三版,使用C語言實現,插入排序的複雜度為O(n^2),在資料較少時效率較高,資料較多應使用歸併排序。如果要逆序輸出,可以將A[i]>key中的>換成<;