下面代码段实现了快速排序的划分操作(以首元素为基准),横线处代码应填入( )。
int partition(vector<int>& arr, int low, int high) {
int pivot = arr[low];
int i = low, j = high;
while (i < j) {
while (i < j && arr[j] >= pivot) j--;
while (i < j && arr[i] <= pivot) i++;
if (i < j) swap(arr[i], arr[j]);
}
______________; // 在此处填入代码
return i;
}
- A. swap(arr[low], arr[high])
- B. swap(arr[low], arr[i])
- C. swap(arr[i], arr[high])
- D. arr[i] = pivot
正确答案:B