挖坑填数法+分治思想
import java.util.Arrays;
class Solution {
public static void main(String[] args) {
int[] arr={5,37,8,7,2};
quickSort_2(arr,0,4);
System.out.println(Arrays.toString(arr));
}
public static void quickSort_2(int[] data, int start, int end) {
if (data == null || start >= end) return;
int i = start, j = end;
int pivotKey = data[start];
while (i < j) {
while (i < j && data[j] >= pivotKey) j--;
if (i < j) data[i++] = data[j];
while (i < j && data[i] <= pivotKey) i++;
if (i < j) data[j--] = data[i];
}
data[i] = pivotKey;
quickSort_2(data, start, i - 1);
quickSort_2(data, i + 1, end);
}
}