天天看點

Java單連結清單實作快速排序普通快排的思路單連結清單的實作為具體函數實作在main函數是這樣的測試結果

選擇1個結點為中心點,保證中心點左邊比中心點小,中心點右邊比中心點大即可。這就是一次快排,确定一個數的正确位置,然後進行遞歸。

使第一個節點為中心點

建立2個指針(p,q),p指向頭結點,q指向p的下一個節點

q開始周遊,如果發現q的值比中心點的值小,則此時p=p->next,并且執行目前p的值和q的值交換,q周遊到連結清單尾即可

把頭結點的值和p的值執行交換。此時p節點為中心點,并且完成1輪快排

使用遞歸的方法即可完成排序

Java單連結清單實作快速排序普通快排的思路單連結清單的實作為具體函數實作在main函數是這樣的測試結果