下面 quick_sort 的 partition 函数中,两处横线分别应填入:
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]);
}
________; // 横线1
return ________; // 横线2
}
- 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
正确答案:D