合并两个有序列表

#-*- coding:utf-8 -*-
"""
思路:用循环算法
定义一个新的空列表
比较两个待合并列表的首元素
小的就插入到新表里,并且将此元素在愿列表中删除
直到两个旧列表有一个为空
再将旧列表加到新列表后面(有一个旧列表已经为空了,加入到后面与不加是一个效果)
"""
def loop_merge_sort(l1,l2):
    tmp = []
    while len(l1) > 0 and len(l2) > 0:
        if l1[0] < l2[0]:
            tmp.append(l1[0])
            del l1[0]
        else:
            tmp.append(l2[0])
            del l2[0]
    tmp.extend(l1)
    tmp.extend(l2)
    return tmp

 

posted on 2018-09-11 18:05  欢喜等大年  阅读(407)  评论(0编辑  收藏  举报

导航