#4355. [GESP202506 八级 C++] 第 12 题
[GESP202506 八级 C++] 第 12 题
下面 quick_sort 函数试图实现快速排序算法,两处横线处分别应该填入的是( )。
void swap(int & a, int & b) {
int temp = a; a = b; b = temp;
}
int partition(int a[], int l, int r) {
int pivot = a[l], i = l + 1, j = r;
while (i <= j) {
while (i <= j && a[j] >= pivot)
j--;
while (i <= j && a[i] <= pivot)
i++;
if (i < j)
swap(a[i], a[j]);
}
________; // 在此处填入选项
return ________; // 在此处填入选项
}
void quick_sort(int a[], int l, int r) {
if (l < r) {
int pivot = partition(a, l, r);
quick_sort(a, l, pivot - 1);
quick_sort(a, pivot + 1, r);
}
}
A.
swap(a[l], a[i])
i
B.
swap(a[l], a[j])
i
C.
swap(a[l], a[i])
j
D.
swap(a[l], a[j])
j
{{ select(1) }}
- A
- B
- C
- D