1. 程式人生 > >Python 實現有序列表合併演算法

Python 實現有序列表合併演算法

程式碼如下

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]