刷题刷出新高度,偷偷领先!偷偷领先!偷偷领先! 关注我们,悄悄成为最优秀的自己!

单选题

小明用插入排序算法,编写了如下代码,对列表arr中的数值进行排序,

请问,代码中红色①处,应填写什么代码?( )

arr = [9, 3, 7, 5, 1, 6, 8, 4, 2] 
for i in range(1, len(arr)):
        key = arr[i]
        j = i-1
        while j >=0 and key < arr[j] : 
                arr[j+1] = ①
                j = j - 1
        arr[j+1] = key 
print ("排序后的数组:",arr)

A

arr[i]

B

arr[j-1]

C

arr[i+1]

D

arr[j]

使用微信搜索喵呜刷题,轻松应对考试!

答案:

D

解析:

在插入排序算法中,红色①处应该填写的是要插入的位置的值,也就是arr[j]。因为在while循环中,j代表的是当前元素前面的位置,而key是待插入的元素。在每次循环中,需要将arr[j+1]的值往后移动一位,为key腾出空间,然后将key插入到正确的位置。因此,红色①处应该填写arr[j],表示将当前位置的元素往后移动一位,为待插入元素腾出空间。

创作类型:
原创

本文链接:小明用插入排序算法,编写了如下代码,对列表arr中的数值进行排序, 请问,代码中红色①处,应填写什么

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。

让学习像火箭一样快速,微信扫码,获取考试解析、体验刷题服务,开启你的学习加速器!

分享考题
share