快速排序思想:
分治思想,确定基准元素middle,在middle左侧放置所有大于其的元素,右侧放置小于其的元素。然后切割区间,递归循环
void quickSort(int[] arr, int left, int right) {
if (arr.length <= 1 || left >= right) {
return ;
}
int middle = arr[left + (right - left) / 2];
int low = left, high = right;
while(low <= high) {
while (arr[low] > middle) {
low++;
}
while (arr[high] < middle) {
high--;
}
if (low < high) {
int temp = arr[high];
arr[high] = arr[low];
arr[low] = temp;
low++;
high--;
} else if (low == high) {
low++;
}
}
quickSort(arr, left, high);
quickSort(arr, low, right);
}