//找到乙個比標準數小的
array[low]
= array[high]
;//如果左邊的數比標準數大,則low右移一位
while
(low < high && stand >= array[low]
)//找到乙個比標準數大的
array[high]
= array[low];}
//將標準數替換掉重合的數
array[low]
= stand;
}}
[2, 1, 3, 8, 9, 7, 5, 6]
public
class
quicksort1
;quicksort
(array,
0, array.length -1)
; system.out.
println
(arrays.
tostring
(array));
}public
static
void
quicksort
(int
array,
int start,
int end)
//找到乙個比標準數小的
array[low]
= array[high]
;//如果左邊的數比標準數大,則low左移一位
while
(low < high && stand >= array[low]
)//找到乙個比標準數大的
array[high]
= array[low];}
//將標準數替換掉重合的數
array[low]
= stand;
//將比標準數小的再排序
quicksort
(array, start, low)
;//將比標準數大的再排序
quicksort
(array, low +
1, end);}
}}
[1, 2, 3, 5, 6, 7, 8, 9]
public
class
quicksort1
date date1 =
newdate()
; ******dateformat ******dateformat1 =
new******dateformat
("yyyy-mm-dd hh:mm:ss");
string format1 = ******dateformat1.
format
(date1)
; system.out.
println
("排序前的時間是:"
+ format1)
;"排序前:"+arrays.tostring(arr));
quicksort
(arr,
0, arr.length -1)
;"排序後:"+arrays.tostring(arr));
date date2 =
newdate()
; ******dateformat ******dateformat2 =
new******dateformat
("yyyy-mm-dd hh:mm:ss");
string format2 = ******dateformat2.
format
(date2)
; system.out.
println
("排序後的時間是:"
+ format2);}
public
static
void
quicksort
(int
array,
int start,
int end)
//找到乙個比標準數小的
array[low]
= array[high]
;//如果左邊的數比標準數大,則low左移一位
while
(low < high && stand >= array[low]
)//找到乙個比標準數大的
array[high]
= array[low];}
//將標準數替換掉重合的數
array[low]
= stand;
//將比標準數小的再排序
quicksort
(array, start, low)
;//將比標準數大的再排序
quicksort
(array, low +
1, end);}
}}
排序前的時間是:2021-01
-0915:
55:29排序後的時間是:2021-01
-0915:
55:29
排序演算法5之快速排序
快速排序可以分解為三步 尋找基準數,比較通常就是選擇待排序的首專案或者中間專案 2.根據與基準數的大小關係,將待排序陣列分成兩個子串行 和。其中 均小於基準數,均大於基準數,這樣基準數的位置就確定了在q處。然後利用遞迴對兩個子串行進行排序。下圖是對步驟2的介紹,只是該圖是將基準元素設定為最後乙個元素...
排序演算法5 快速排序
1.什麼是快速排序 快速排序是由東尼 霍爾所發展的一種排序演算法。在平均狀況下,排序 n 個專案要 nlogn 次比較。在最壞狀況下則需要 n 次比較,但這種狀況並不常見。事實上,快速排序通常明顯比其他 nlogn 演算法更快,因為它的內部迴圈 inner loop 可以在大部分的架構上很有效 率地...
排序演算法5 快速排序
快速排序是對氣泡排序基礎上的優化版本,它打破了氣泡排序只能比對交換相鄰元素的方式,並加入了 分治 思想 1 對一串行,選定最左邊的元素作為基數p 再定義i,使i依次從左到右尋找比基數p大的元素 再定義j,使j依次從右到左尋找比基數p小的元素 當i j每每找到,便交換i j元素,直到i j相遇 2 將...