GESP C++ 真题 · 逐题精解
首页C++五级真题 › 2023年12月 › 第7题

GESP 2023年12月 C++五级 单选题 第7题

C++五级单选题2023年12月第7题

所属知识点:分治与递归 难度要求:掌握 考频:—

下面的C++代码实现对list的快速排序,有关说法,错误的是( )。
vector<int> operator+(vector<int> lA, vector<int> lB){
    vector<int> lst;
    for (int i = 0; i < lA.size(); i++) lst.push_back(lA[i]);
    for (int i = 0; i < lB.size(); i++) lst.push_back(lB[i]);
    return lst;
}
vector<int> qSort(vector<int> lst){
    if (lst.size() < 2) return lst;
    int pivot = lst[0];
    vector<int> less, greater;
    for (int i = 1; i < lst.size(); i++)
        if (lst[i] <= pivot) less.push_back(lst[i]);
        else greater.push_back(lst[i]);
    return ____________________;   // 在此处填入数据
}

正确答案:C

题目解析
问错误写法。快排应返回 qSort(less) + {pivot} + qSort(greater);C 中 (vector<int>)pivot 会被当作构造“含 pivot 个 0”的向量,内容错误,故 C 不正确。

想系统刷完 GESP C++ 1~8 级真题,并查看每道题的逐题精讲?

进入 GESPPASS 开始练习