java實現快速排序

2021-09-23 13:23:02 字數 574 閱讀 9963

快速排序:顧名思義就是比較的快,在目前的排序中,真的算是比較的快了。這個演算法,實現的話比較的簡單,但是前面的創作算是比較的難。基本的思想就是直接將大的數移動到基本數的右邊,小的數移動到基本數的左邊。

具體的演算法如下:

1.如果陣列中僅有乙個元素或者沒有元素需要排序,則返回。

2.選擇陣列中的乙個元素作為根源(array[low])。(我選的是第乙個元素)。

3.把陣列分為兩個部分,第乙個部分就是比根源值大的,另外乙個是比根源值小的。

4.對兩部分陣列遞迴呼叫該演算法。

具體實現**如下:

public class quicksort 

if(leftlow)

if(right+1測試**如下 :

public static void main(string args) ;

sort(a,0,a.length-1);

for (int i : a)

}

輸出的結果如下:

排序 快速排序(java實現)

快速排序是一種非常高效的排序演算法,它採用了 分而治之 的思想,把大的拆分成小的,小的再拆分為更小的。其原理如下 對於給定一組記錄,通過一趟排序後,將原序列分為兩部分,其中前一部分的所有記錄都比後一部分的所有記錄小,然後再依次對前後兩部分的記錄進行快速排序,遞迴該過程,直到序列中所有的記錄均為有序為...

Java實現快速排序

package com.handy.ds public class quicksort for int i 0 i a.length i system.out.print a i system.out.println quicksort qs new quicksort qs.quitsort a,...

java實現快速排序

快速排序是平均速度最快的排序演算法,他的平均時間複雜度 n log n 快速排序採用分治法來進行排序,首先先給出乙個陣列,在一開始隨意選擇乙個數pivot,已pivot作為這個陣列的分界點,把大於pivot的數放在右邊,小於pivot的數放在左邊,然後在已pivot的兩邊分界點,右進行一次上一次的操...