GESP C++ 真题 · 逐题精解
首页C++五级真题 › 2026年3月 › 第13题

GESP 2026年3月 C++五级 单选题 第13题

C++五级单选题2026年3月第13题

所属知识点:复杂度分析 难度要求:掌握 考频:—

有 位同学的成绩已经从小到大排好序,现在对它执行下面这段以第一个元素为 pivot 的快速排序,请 问此次排序的时间复杂度是( )。
void quicksort(vector<int>& a, int l, int r) {
if (l >= r) return;
int pivot = a[l];
int i = l, j = r;
while (i < j) {
while (i < j && a[j] >= pivot) j--;
while (i < j && a[i] <= pivot) i++;
if (i < j) swap(a[i], a[j]);
}
swap(a[l], a[i]);
quicksort(a, l, i - 1);
quicksort(a, i + 1, r);
}

正确答案:C

题目解析

以首元素为基准、对已排序数组,划分极不平衡,快排退化为最坏 O(n²),选 ………

完整解析为会员内容二级及以上的逐题精讲需开通 VIP。一级解析全部免费。前往 GESPPASS 解锁

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

进入 GESPPASS 开始练习