Python 實現有序列表合併演算法
阿新 • • 發佈:2019-01-29
程式碼如下
ls1 = [1, 3, 5, 7, 9, 11]
ls2 = [2, 4, 8]
def merge(a, b):
len_a = len(a)
len_b = len(b)
index_a, index_b = 0, 0
rs = []
while index_a < len_a and index_b < len_b:
if a[index_a] < b[index_b]:
rs.append(a[index_a])
index_a += 1
else :
rs.append(b[index_b])
index_b += 1
while index_a < len_a:
rs.append(a[index_a])
index_a += 1
while index_b < len_b:
rs.append(b[index_b])
index_b += 1
return rs
if __name__ == '__main__':
print(merge(ls1, ls2))
# [1, 2, 3, 4, 5, 7, 8, 9, 11]