合并有序列表
类型:程序题

题目说明

现有两个列表中的数据已经分别升序排好,要求将两个列表合并到一个新列表中,最终结果依旧升序。例如两个有序列表为a=[11,25,64,75,88]和b=[10,33,46,50,90],最终合并到列表c中,结果为:[10, 11, 25, 33, 46, 50, 64, 75, 88, 90] 实现上述功能的Python程序如下,请在划线处填入合适的代码。

a=[11,25,64,75,88]
b=[10,33,46,50,90]
c=[0]*10
i=0
j=0
k=0
while         ①        :   #当列表a或列表b中的数据未合并完,继续循环
    if i==len(a):     #当列表a中数据已经合并完,只需将列表b中的数据合并
                ②
        j+=1
    elif j==len(b):   #当列表b中数据已经合并完,只需将列表a中的数据合并
        c[k]=a[i]
        i+=1
    elif         ③      :  #当列表a和列表b中的数据都未合并完,将较小值合并到列表c中
        c[k]=a[i]
        i+=1
    else:
        c[k]=b[j]
        j+=1
            ④        #每合并完一个数据,列表c中的指针k往后走一步
print(c)

评分标准

(1)i<len(a) or j<len(b) 或 k<10 (或等效答案);(3分) (2)c[k]=b[j] (或等效答案);(2分) (3)a[i]<b[j] (或等效答案);(3分) (4)k=k+1 或 k+=1 (或等效答案)。(2分)

代码编辑器 加载中...
留空使用题目默认限制
{{resultStatus.text}}
正在加载运行记录...
乐编题库AI助手
人工客服
微信扫码联系客服
历史对话
{{ s.title || '未命名对话' }}
{{ s.created_at }}
暂无历史对话
我能帮助你什么?