单选题

下面的快速排序程序中,两处横线处分别应填入的是(    )。

void quick_sort(int a[], int n) {

if (n <= 1)

return;

int pivot = 0, l = 0, r = n - 1;

while (________) { // 在此处填入选项

while (r > pivot && a[r] >= a[pivot])

r--;

if (r > pivot) {

int temp = a[pivot];

a[pivot] = a[r];

a[r] = temp;

pivot = r;

}

while (l < pivot && a[l] <= a[pivot])

l++;

if (l < pivot) {

int temp = a[pivot];

a[pivot] = a[l];

a[l] = temp;

pivot = l;

}

}

quick_sort(a, pivot);

quick_sort(________); // 在此处填入选项

}

A

l < r

    a + pivot + 1, n - pivot - 1

B

l < r

      a + pivot + 1, n - pivot

C

l <= r

      a + pivot + 1, n - pivot - 1

D

l <= r

      a + pivot + 1, n - pivot

赣ICP备20007335号-2