def merge_sort(unsorted, start=None, end=None):
if start is None:
start = 0
end = len(unsorted)
midpoint = (start + end) // 2
if end - start == 1:
yield unsorted[start]
elif end - start > 1:
yield from heapq.merge(
merge_sort(unsorted, start, midpoint),
merge_sort(unsorted, midpoint, end))
评论列表
文章目录