快速排序Java實現

2021-09-06 07:59:58 字數 826 閱讀 6028

快速排序的基本思想:陣列中的每個元素與基準值比較,陣列中比基準值小的放在基準值的左邊,形成左部;大的放在右邊,形成右部;接下來將左部和右部分別遞迴地執行上面的過程:選基準值,小的放在左邊,大的放在右邊,直到排序結束。

public class quicksort 

arr[low] = arr[high];// 將比key小的元素放到最左邊

// 從左端開始,向右遍歷,直到找到大於key的數

while (low < high && arr[low] < key)

arr[high] = arr[low];// 將比key大的元素放到最右邊

} arr[low] = key;

return low;

} public void quicksort(int arr, int low, int high)

}}

測試**:

public class test ;

system.out.println("排序前:" + arrays.tostring(arr));

quicksort qs = new quicksort();

qs.quicksort(arr, 0, 7);

system.out.println("排序後" + arrays.tostring(arr));

}}

執行結果

排序 快速排序(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的兩邊分界點,右進行一次上一次的操...