單鏈表快速排序 Java

2021-09-13 04:11:51 字數 795 閱讀 5917

思路:

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語言指標知識之不牢固,特別是指標的指標方面的知識。單鏈表的快排序和陣列的快排序基本思想相同,同樣是基於劃分,但是又有很大的不同 單鏈表不支援基於下標的...