java基本排序演算法總結 二 快速排序法

2021-07-11 16:53:10 字數 987 閱讀 4694

在網上論壇上看了很多例子,快速排序演算法是各公司面試筆試常考的一種演算法,並且在平時的實際應用中表現形式和實現過程也是非常優秀,筆者認為快速排序法的思想就是基於氣泡排序法,氣泡排序法是將相鄰元素進行比較來進行元素的交換排序,而快速排序法則通過確定乙個基準元素,將比它大或者小的的元素分別歸為一組從而進行遞迴排序,這裡具體的實現結果有點像二分法的概念。在這裡借用一張網上的來進一步解釋

如圖,首先我們以頭乙個元素57為基準點,首先與陣列的最後乙個元素進行比較,57>19則交換到高位,然後與陣列第二位進行比較57<69,57交換到低位,而69交換到高位,一次進行比較最後對高位和低位陣列分別進行排序。

下面以具體的**進行分析:

/*

* @author:richardwe

* @description:快速排序法

*/public class quicksort ;

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

for (int i = 0; i < a.length; i++)

} //取第一位與最後一位為判斷基準點 a , 0 ,8

public static void quicksort(int list, int low, int high)

} public static int getmiddle(int list, int low, int high)

list[low] = list[high]; // 比中軸小的記錄移到低端

while (low < high && list[low] <= temp)

list[high] = list[low]; // 比中軸大的記錄移到高階

} list[low] = temp; // 中軸記錄到尾

return low;

}}

java 演算法基礎之二快速排序演算法

所謂的快速排序的思想就是,首先把陣列的第乙個數拿出來做為乙個key,在前後分別設定乙個i,j做為標識,然後拿這個key對這個陣列從後面往前遍歷,及j 直到找到第乙個小於這個key的那個數,然後交換這兩個值,交換完成後,我們拿著這個key要從i往後遍歷了,及i 一直迴圈到i j結束,當這裡結束後,我們...

Java排序演算法 快速排序

一.思想 對氣泡排序演算法的一種改進。通過一趟排序將排序的資料分割成兩個部分,其中一部分的所有資料都比另一部分的所有資料都要小,然後再按此方法對這兩部分分別再進行快速排序,依次類推。實現為 開始時先設兩個變數i start,j end 以第乙個元素作為中間點,pivot num i 以j 的形式從後...

java排序演算法 快速排序

陣列 2,6,3,6,5,9,1 輸出 1 2 3 5 6 6 9 private static void paixu int arrs,int h,int e while arrs x arrs e 交換值 int m m arrs h arrs h arrs e arrs e m 2,6,3,6...