Python合并排序列表
- 问题描述:
合并两个升序的整数列表A和B,形成一个新的列表,新列表也要有序。
- 问题示例:
输入A=[1,2],B=[2,3,4],输出[1,2,2,3,4],返回合并后列表。输入A=[1,2,3,4],B=[1,2,2,3,4,4,5,6],返回合并所有元素后的列表。
- 代码实现:
#定义一个名为order的函数
def order(A,B):
i = 0
j = 0
C = []
#当A和B两个列表都还有元素时进行比较
while i<len(A) and j<len(B):
if A[i]<B[j]: #如果当前A列表的元素小于B列表的元素
C.append(A[i]) #就把当前A列表中的元素追加到C列表中来
i = i+1 #A列表元素的索引值+1,进入下一轮判断
else: #如果当前A列表的元素大于等于B列表的元素
C.append(B[j]) #就把当前B列表中的元素追加到C列表中来
j=j+1 #B列表元素的索引值+1,进入下一轮判断
#当只有A列表还有元素时,直接把A列表中的元素依次追加到C列表中来
while i<len(A):
C.append(A[i])
i = i+1
#当只有B列表还有元素时,直接把B列表中的元素依次追加到C列表中来
while j<len(B):
C.append(B[j])
j = j+1
#返回一个新的有序整数列表C
return C
A = [1,2,3,4]
B = [2,3]
print(order(A,B))
- 运行结果
输入: [1,2,3,4], [2,3]
输出:[1, 2, 2, 3, 3, 4]