归并排序

# 归并排序:把两个有序的列表合成一个列表并排序

def merge_sort(list_sorted_a,list_sorted_b):
    result =[]
    i=0
    j=0
    while i<len(list_sorted_a) and j<len(list_sorted_b):
        if list_sorted_a[i]<list_sorted_b[j]:
            result.append(list_sorted_a[i])
            i+=1
        elif list_sorted_a[i]>list_sorted_b[j]:
            result.append(list_sorted_b[j])
            j+=1
        else:
            result.append(list_sorted_a[i])
            i+=1
            result.append(list_sorted_b[j])
            j+=1
    if i!=len(list_sorted_a):
        result+=list_sorted_a[i:]
    if j!=len(list_sorted_b):
        result+=list_sorted_b[j:]
    return result

 

posted @ 2019-06-30 22:46  reyinever  阅读(110)  评论(0编辑  收藏  举报