为了正确实现快速排序,下面横线上的代码应为( )。
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 }