合并有序列表
题目说明
现有两个列表中的数据已经分别升序排好,要求将两个列表合并到一个新列表中,最终结果依旧升序。例如两个有序列表为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分)
本题为编程题,提交代码并运行通过测试点后判分。
正在加载题目数据…
子题
该题型需在试卷/作业中作答,单题练习暂不支持
答案解析