GESP 四级 · GESP 202406 C++ 四级 第 12 题

选择题 · 答案 D

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

题目

下面的排序算法程序中,横线处应该填入的是( )。

int a[8]={ 2,3, 4, 5, 6,2,3,1};
for (int i=1;i<8;i++)
{
    int key = a[i];
    int j=i-1;
    while(a[j]>key && j>=0)
    {
        ______;
        j -= 1;
    }
    a[j + 1]= key;
}
答案:D

解题思维

答案D。代码补全要考虑参数传递方式。如果需要修改实参,需用指针(*)传递。排序算法要理解每步比较的含义。

常见错误

排序代码补全要理解每步比较的含义。选择排序找最小值时比较的是array[min]>array[j]。

详细解析(节选)

【考点】插入排序|数组操作

1. 🎯 考纲定位

本题考查《GESP 四级大纲》"算法与数据结构"模块中的插入排序实现。命题人卡住的是考生对排序算法核心操作的理解——插入排序的本质是"将当前元素向后移位,直到找到合适位置",绝大多数考生只背了排序结果,却完全没搞清元素是如何逐个插入的。

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