1、基本思路
假設待排序的陣列有n個元素,插入排序的做法是把第n個待排序數插入到左邊(n-1)個有序序列中,直至n是最後乙個元素。
約定規則:當要對陣列的第n個元素進行排序時,第n個元素左邊的陣列元素總是有序的(插入排序一般從第2個開始排,因為第2個元素左邊只有1個元素,單個元素總是有序的;第2個排完形成了乙個有2個元素的子有序序列;接著排第3個元素,第3個排完形成了乙個有3個元素的子有序序列;接著排第4個,............;這樣就能保證第n個待排排序元素的左邊總是有序的)。
2、演算法實現(c)
有時間再寫。。。。。。。。。。
鍊錶插入排序
void insertsort list sortascount,node node else p prior next q q next p int sortwithinsetmethod list sortasdata wchar pp p data if isnum pp int i 0 i ...
鍊錶插入排序
題目 用插入排序對鍊錶排序 樣例 given1 3 2 0 null,return0 1 2 3 null 思路 新建乙個以dummy開頭的鍊錶,並將dummy賦初值為0。令node dummy,通過移動新煉表中的node與要排序的鍊錶中的head,並比較node與head的值,來實現排序。如果he...
鍊錶插入排序
題目 用插入排序對鍊錶排序 思路 建立乙個新的鍊錶,將目標鍊錶依次插入先煉表中,小就插到前面,大就插到後面,如此一來,新的鍊錶就是目標鍊錶按大小次序排列的了。先看第一步,將目標鍊錶的第乙個元素插入所建立的空鍊錶,具體是先建立乙個地值存下頭節點的下乙個節點的位置,將頭節點的next變為空,連到一開始建...