class Solution {
public int[] sortArray(int[] nums) {
quickSort(nums, 0, nums.length - 1);
return nums;
}
// 快排
private void quickSort(int[] arr, int l, int r) {
if (l < r) {
int i = l, j = r, x = arr[i]; // 挖坑,用x存原坑的值
while (i < j) {
while (i < j && arr[j] >= x) { // 从右到左,找一个比x小的填坑
j--;
}
if (i < j) {
arr[i++] = arr[j];
}
while (i < j && arr[i] < x) { // 从左到右,找一个比x大的填坑
i++;
}
if (i < j) {
arr[j--] = arr[i];
}
}
arr[i] = x; //把最后一个坑填上
quickSort(arr, l, i - 1);
quickSort(arr, i + 1, r);
}
}
}