第21364题
快速排序partition函数中两处横线处应填入的内容分别为()

下面 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

提交0次 正确率0.00%
答案解析