13、下面代码实现了插入排序函数,则横线上应填写( )。

别灰心,再试一次!

💡 真题解析

答案:A

解析:插入排序的基本思想是将一个记录插入到已经排好序的有序表中,从而得到一个新的、记录数增1的有序表。

具体步骤如下:

1.从数组的第二个元素开始,假设前面的元素已经是有序的。

2.将当前元素与前面的元素进行比较,如果当前元素小于前面的元素,则将前面的元素向后移动一位。

3.重复上述步骤,直到找到合适的位置插入当前元素。

我们需要在横线上填写正确的初始化代码。具体来说,我们需要定义两个变量:

• base:当前要插入的元素。

• j:用于遍历前面的元素。

我们再逐一对选项进行分析:

A. int base = nums[i], j = i - 1;这个选项是正确的。base 是当前要插入的元素,j 初始化为 i - 1,表示前面的最后一个元素。

B. int base = nums[i], j = i;这个选项不正确。j 应该初始化为 i - 1,而不是 i。

C. int base = nums[0], j = i - 1;这个选项不正确。base 应该是当前要插入的元素 nums[i],而不是 nums[0]。

D. int base = nums[0], j = i;这个选项不正确。base 应该是当前要插入的元素 nums[i],而不是 nums[0]。

所以,正确答案是A。