基本排序算法之插入排序

插入排序的基本方法是:每步將一個待排序的元素,按其排序碼大小,插入到前面已經排好序的一組元素的適當位置上去,直到元素全部插入爲止。可以選擇不同的方法在已經排好序的有序數據表中尋找插入位置。依據查找方法的不同,有多種插入排序。下面介紹直接插入排序

直接插入排序的基本思想:當插入第i(i >= 1)個元素時,前面的V[0],V[1],......,V[i-1]已經排好序,這時,用V[i]的排序碼與V[i-1],V[i-2],...的排序嗎順序比較,找到插入位置即將V[i]插入,原來位置上的元素向後順移。

程序:

void InsertSort(int* arr,int n)
{
	for (int i = 1; i < n; i++)
	{
		int tmp = arr[i];//要插入的數據
		int j;//插入的位置
		for (j = i;j>0&&(arr[j-1]>tmp);j--)//升序
		{
			arr[j] = arr[j-1];//前後互換
		}
		arr[j] = tmp;
	}
}


發佈了34 篇原創文章 · 獲贊 18 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章