/*
6.快速排序
最佳情况:T(n) = O(nlogn)
最差情况:T(n) = O(n2)
平均情况:T(n) = O(nlogn)
*/
void quickSort(int* arrays, int l, int r) {
if(l < r) {
int i = l, j = r, x = arrays[i];
while(i < j) {
while(i < j && arrays[j] >= x) { // 从右向左找第一个小于x的数
j--;
}
if(i < j) {
arrays[i++] = arrays[j];
}
while(i < j && arrays[i] < x) { // 从左向右找第一个大于等于x的数
i++;
}
if(i < j) {
arrays[j--] = arrays[i];
}
}
arrays[i] = x;
quickSort(arrays, l, i - 1); // 递归调用
quickSort(arrays, i + 1, r);
}
}