题库首页 › GESP等级认证(C++) › 题目 25399

下面代码试图把数组按升序进行“插入排序”,横线处应填写( )。 void ins(int a[], int n){ for(int i = 1; i = 0 && __________){ a[j+1] = a[j]; j--; } a[j+1] = key;

A:a[j] key
C:a[j+1] > key
D:a[j] == key

正确答案:B

答案解析

插入排序中,当前元素key从已排序部分的末尾开始比较,若前一个元素大于key,则将其后移一位,为key腾出位置。循环继续的条件是索引j未越界且当前比较的元素大于key。当j小于0或当前元素不大于key时,循环终止,此时j+1即为key应插入的位置。因此判断条件需反映a[j]与key之间的大小关系,以决定是否继续后移元素。

试卷来源:202603 CCF-GESP编程能力等级认证C++四级真题

本卷相关题目

在线做题 同科目题库