GESP 四级 · GESP 202412 C++ 四级 第 11 题

选择题 · 答案 B · 考点:模拟

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

题目

冒泡排序的第一轮操作是从左到右遍历数组,通过两两比较相邻元素,将当前最大的元素移动到末尾。给定数组 arr[]={4, 1, 3, 1, 5, 2},执行第一轮冒泡排序后数组 arr 中的内容为( )。

答案:B

考点

模拟 讲解 →模拟 真题汇总 →

解题思维

答案B。选择排序每轮找最小值交换到前面。补全时要确保比较的是当前元素与当前最小值。

常见错误

选择排序每轮找到最小值下标后与当前位置交换。注意比较的是数组元素值而不是下标。

详细解析(节选)

【考点】冒泡排序|数组遍历|模拟执行

🎯 考纲定位 GESP 四级《C++程序设计与应用》第5章《算法基础》。命题人想卡住学生"按步骤模拟算法"的短板——不是背"冒泡排序"的定义,而是真正动手模拟一遍。

🧠 解题思维 先定位"冒泡第一轮必把最大值沉底"这一通性,再逐对比较:4与1交换、4与3交换、4与1交换、4与5不交换、5与2交换。最终得到1, 3, 1, 4, 2, 5。

🪤 陷阱拆解 A选项是只做了第一次交换就停止,C选项把5与2交换却忽略了4与3、4与1的交换,D选项是原始数组,命题人利用"未完全执行"和"误判已排序"两个思维盲区。

🔄 反命题思维 如果把数组改成{5, 4, 3, 2, 1, 0},第一轮结果就是4, 3, 2, 1, 0, 5,本质不变。刷到这类题先问自己"命题人想考我什么"——如果考的是"冒泡排序",那一定是让你模拟过程,而不是背结论。

同考点真题

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