GESP 五级 · GESP 202606 C++ 五级 第 11 题

选择题 · 答案 B · 考点:快速排序

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

题目

下面代码段实现了快速排序的划分操作(以首元素为基准),横线处代码应填入( )。

int partition(vector<int>& arr, int low, int high) {
    int pivot = arr[low];
    int i = low, j = high;
    while (i < j) {
        while (i < j && arr[j] >= pivot) j--;
        while (i < j && arr[i] <= pivot) i++;
        if (i < j) swap(arr[i], arr[j]);
    }
    ________________; // 在此处填入代码
    return i;
}
答案:B

考点

快速排序

解题思维

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

常见错误

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

详细解析(节选)

【考点】快速排序|Hoare 划分方案|指针交换逻辑

🎯 考纲定位

GESP 五级算法模块,排序算法专题。命题人卡住的是"背过快排代码但不懂划分过程"的考生——快排是五级高频考点,但能写出完整快排的不到 3 成,而本题只考划分,恰恰筛出那些只懂模板不会原理的人。

同考点真题

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