1 void qsort(vector<int>& arr, int left, int right) {
2 int i, j, mid;
3 int pivot;
5 i = left;
6 j = right;
7 mid = (left + right) / 2; // 计算中间元素的索引
8 pivot = arr[mid]; // 选择中间元素作为基准值
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 }