思路:
1、以頭節點為base,依次遍歷,與base比較,比base小的放前面;返回base指標
2、遞迴呼叫上述過程
**:
package com.datastructure.link;
/** * 單鏈表快排
*/public class singlelinkedlistquicksort
@override
public string tostring()
return this.value + "->" + this.next.tostring();
} }
public static void quicksort(node head)
quicksort(head, null); }
private static void quicksort(node begin, node end) }
private static node partition(node begin, node end)
cur = cur.next;
} swap(base,begin);
system.out.println(base);
return base;
} private static void swap(node node1, node node2)
public static void main(string args)
}
參考:
快速排序的幾種實現方式及效能比較:
鍊錶排序:
單鏈表快速排序
今天在學習 程式設計師使用演算法 時,看到了單鏈表快排序這一節。初看時感覺程式有很大的問題,但是細細品味之後卻發現程式設計的極為巧妙,同時又深感自己c語言指標知識之不牢固,特別是指標的指標方面的知識。單鏈表的快排序和陣列的快排序基本思想相同,同樣是基於劃分,但是又有很大的不同 單鏈表不支援基於下標的...
單鏈表快速排序
今天在學習 程式設計師使用演算法 時,看到了單鏈表快排序這一節。初看時感覺程式有很大的問題,但是細細品味之後卻發現程式設計的極為巧妙,同時又深感自己c語言指標知識之不牢固,特別是指標的指標方面的知識。單鏈表的快排序和陣列的快排序基本思想相同,同樣是基於劃分,但是又有很大的不同 單鏈表不支援基於下標的...
單鏈表快速排序
今天在學習 程式設計師使用演算法 時,看到了單鏈表快排序這一節。初看時感覺程式有很大的問題,但是細細品味之後卻發現程式設計的極為巧妙,同時又深感自己c語言指標知識之不牢固,特別是指標的指標方面的知識。單鏈表的快排序和陣列的快排序基本思想相同,同樣是基於劃分,但是又有很大的不同 單鏈表不支援基於下標的...