测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A66720. 为了正确实现快速排序,下面横线上的代码应为( )。1 void qsort(vector<int>& arr, int left, int right) {

单选题

题目描述

为了正确实现快速排序,下面横线上的代码应为( )。

1 void qsort(vector<int>& arr, int left, int right) {
2  int i, j, mid;
3  int pivot;
4
5  i = left;
6  j = right;
7  mid = (left + right) / 2; // 计算中间元素的索引
8  pivot = arr[mid]; // 选择中间元素作为基准值
9
10  do {
11   while (arr[i] < pivot) i++;
12   while (arr[j] > pivot) j--;
13   if (i <= j) {
14    swap(arr[i], arr[j]); // 交换两个元素
15    i++; j--;
16   }
17  } ________________________________; // 在此处填入代码
18  if (left < j) qsort(arr, left, j); // 对左子数组进行快速排序
19  if (i < right) qsort(arr, i, right); // 对右子数组进行快速排序
20 }

选项(单选)