package sort;
/**
* Created by bruce_shan on 2018/6/4 14:29.
* Description : å¿«éæåº 以åå®çåä½
*/
public class QuickSort {
public void quickSort(int[] array, int left, int right) {
if (left >= right) {
return;
}
int middle = partition(array, left, right);
quickSort(array, left, middle - 1);
quickSort(array, middle + 1, right);
}
// 䏿¬¡ååè¿ç¨
private int partition(int[] array, int left, int right) {
int middle = left;
int middleKey = array[middle];
while (left < right) {
// 髿éå
èµ°
while (left < right && array[right] > middleKey) { // é«æéæ¾å° <= ä¸è½´çæ°åä¸
right--;
}
while (left < right && array[left] <= middleKey) { // ä½æéæ¾å° > ä¸è½´çæ°åä¸
left++;
}
// 交æ¢é«ä½æéçå¼
if(left