模拟卷一排序阅读与完善程序

快速排序核心分区(升序),请完善空缺 ③ ④ ⑤ ⑥。

阅读与完善程序 完善2 · CSP-S 提高级 初赛 模拟试卷(一)
void quickSort(int a[], int l, int r) {
    if (l >= r) return;
    int pivot = a[l], i = l, j = r;
    while (i < j) {
        while (i < j && a[j] >= pivot)  ③ ;
        a[i] = a[j];
        while (i < j && a[i] <= pivot)  ④ ;
        a[j] = a[i];
    }
    a[i] = pivot;
    ⑤ ;   // 递归处理左半部分
    ⑥ ;   // 递归处理右半部分
}
  • ③ ________________________ ④ ________________________
  • ⑤ ________________________ ⑥ ________________________
答案解析
③ 从右向左找小于 pivot 的元素,未找到则 j--;④ 从左向右找大于 pivot 的元素,未找到则 i++;⑤ 左半递归 quickSort(a, l, i-1);⑥ 右半递归 quickSort(a, i+1, r)。

同知识点练习

本题收录于「CSP-S 提高级 初赛 模拟试卷(一)」,共 25 道题,全部提供答案与解析。可进入在线练习系统按知识点随机组卷、自动批改并归集错题。

进入在线练习 查看完整试卷 本类全部题目