#3708. 快速排序
快速排序
这里给你了一份快速排序相关函数的代码,它需要实现对 数组下标 之间的元素进行 从大到小 排序的功能。你需要补全这个代码。
int qsort(int a[], int l, int r) {
int i = l, j = r;
int x = ①;
while (i <= j) {
while (i <= j && ②) {
i++;
}
while (i <= j && ③) {
j--;
}
if (i <= j) {
swap(a[i], a[j]);
i++;
j--;
}
}
if (i < r) {
qsort(a, i, r);
}
④ {
qsort(⑤);
}
}
① 处 不应填 {{ select(1) }}
la[l]a[r]a[(l + r) >> 1]
② 处应填 {{ select(2) }}
a[i] > xa[i] >= xa[i] < xa[i] <= x
③ 处应填 {{ select(3) }}
a[j] > xa[j] >= xa[j] < xa[j] <= x
④ 处应填 {{ select(4) }}
elseif (l < j)else if (l < j)else if (l <= j)
⑤ 处应填 {{ select(5) }}
qsort(a, l, j)qsort(a, l, j + 1)qsort(a, l, j - 1)qsort(a, j, i)