Python 实现有序列表合并算法

来源:互联网 发布:学c和linux 编辑:程序博客网 时间:2024/06/04 00:32

代码如下

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 rsif __name__ == '__main__':    print(merge(ls1, ls2))    # [1, 2, 3, 4, 5, 7, 8, 9, 11]