鍊錶插入排序

2021-07-29 18:32:56 字數 634 閱讀 9269

1.問題描述:用插入排序對鍊錶排序

2.思路:例如given1->3->2->0->null, return0->1->2->3->null

首先建立乙個新的節點為0.並令dummy指向0,再向0後面插入給定鍊錶的第乙個節點(在這之前要用a指向head->next,這樣方便後面元素的插入),插入第乙個節點之後,head的指向向後移動,即為開始時a的指向,然後,如果p->next->val>head->val則像當初一樣向後插結點,而如果p->next->valval,p的指向向後移,這樣新插入的節點則插入在了0和第一次插入的節點之間。這樣就實現了比頭節點小的插在前面,比頭節點大的插在後面,從而實現用插入排序對鍊錶排序的功能。

3.**:

/**

* definition of listnode

* class listnode

* }*/class solution

a=head->next;

head->next=p->next;

p->next=head;

head=a;

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

鍊錶插入排序

題目 用插入排序對鍊錶排序 樣例 given1 3 2 0 null,return0 1 2 3 null 思路 新建乙個以dummy開頭的鍊錶,並將dummy賦初值為0。令node dummy,通過移動新煉表中的node與要排序的鍊錶中的head,並比較node與head的值,來實現排序。如果he...

鍊錶插入排序

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