GESP 八级 · GESP 202412 C++ 八级 第 14 题

选择题 · 答案 A · 考点:快速排序、函数与递归

← 整套速查表 GESP 八级 全部真题

题目

下面的快速排序程序中,两处横线处分别应填入的是( )。

void quick_sort(int a[], int n) {
    if (n <= 1)
        return;
    int pivot = 0, l = 0, r = n - 1;
    while (________) { // 在此处填入选项
        while (r > pivot && a[r] >= a[pivot])
            r--;
        if (r > pivot) {
            int temp = a[pivot];
            a[pivot] = a[r];
            a[r] = temp;
            pivot = r;
        }
        while (l < pivot && a[l] <= a[pivot])
            l++;
        if (l < pivot) {
            int temp = a[pivot];
            a[pivot] = a[l];
            a[l] = temp;
            pivot = l;
        }
    }
    quick_sort(a, pivot);
    quick_sort(________); // 在此处填入选项
}

A.

l < r
a + pivot + 1, n - pivot - 1

B.

l < r
a + pivot + 1, n - pivot

C.

l <= r
a + pivot + 1, n - pivot - 1

D.

l <= r
a + pivot + 1, n - pivot
答案:A

考点

快速排序函数与递归

解题思维

STL 容器:vector(动态数组)、set/map(红黑树,有序)、unordered_set/map(哈希表,无序)。注意迭代器失效问题。

常见错误

填空时注意语法完整性:分号、括号匹配、函数参数类型和个数、返回值类型。

详细解析(节选)

【考点】快速排序|递归

1. 🎯 考纲定位

GESP 八级《算法与数据结构》模块第 5 章排序算法,命题人卡住的是"不会看代码结构"——90% 考生上来就套背诵模板,却连 pivot 都找不到。

同考点真题

在 OI伴学 里做这道题
登录后可计时作答、查看完整六段式解析,并按你的错题自动生成同类练习。
去刷题先做一次 AI 学情诊断