def merge(left, right):
res = []
while left and right:
if left[0] < right[0]:
res.append(left.pop(0))
else:
res.append(right.pop(0))
res = res + left + right#数组相加实际上降低了效率,可以指出这点表现对底层原理的认识
return res
def mergesort(lists):
if len(lists) <= 1:
return lists
mid = len(lists)//2
left = mergesort(lists[:mid])
right = mergesort(lists[mid:])
return merge(left,right)
python的归并排序(mergesort)实现
猜你喜欢
转载自blog.csdn.net/m0_37422289/article/details/79301408
今日推荐
周排行