鍊錶插入排序

2021-07-29 12:46:36 字數 765 閱讀 4777

題目

用插入排序對鍊錶排序

樣例:

given1->3->2->0->null, return0->1->2->3->null

思路:

新建乙個以dummy開頭的鍊錶,並將dummy賦初值為0。令node=dummy,通過移動新煉表中的node與要排序的鍊錶中的head,並比較node與head的值,來實現排序。如果head的值大於node的值,就將該節點插入到node的後面,然後再將node從新鍊錶的開頭開始移動,並比較head的值,然後找適當位置插入。

具體實現**

/**

* definition of listnode

* class listnode

* }*/

class solution

listnode *temp=head->next;

head->next=node->next;

node->next=head;

head=temp;

} return dummy->next;}};

感想:

通過比較數值,將舊鍊錶的結點插入到新煉表中來實現排序,是一種做題的新方法。

鍊錶插入排序

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 ...

鍊錶插入排序

題目 用插入排序對鍊錶排序 思路 建立乙個新的鍊錶,將目標鍊錶依次插入先煉表中,小就插到前面,大就插到後面,如此一來,新的鍊錶就是目標鍊錶按大小次序排列的了。先看第一步,將目標鍊錶的第乙個元素插入所建立的空鍊錶,具體是先建立乙個地值存下頭節點的下乙個節點的位置,將頭節點的next變為空,連到一開始建...

鍊錶插入排序

題目 鍊錶插入排序 問題描述 用插入排序對鍊錶排序 思路 申請新鍊錶,插入元素,與鍊錶中的元素比較大小,如果大,就插到後面,若小,就插在前面。class solution listnode temp head next head next node next node next head head ...