编写函数merge_sort(alist)使用“归并排序算法”对参数列表alist的各元素进行升序排序,排序后,
alist的各元素按升序有序。
def merge_sort(alist):
if len(alist) == 1:
return alist
mid = len(alist) // 2
left = merge_sort(alist[:mid])
right = merge_sort(alist[mid:])
result = []
while len(left) > 0 and len(right) > 0:
if left[0] <= right[0]:
result.append(left.pop(0))
else:
result.append(right.pop(0))
result += left
result += right
return result
print(merge_sort([11, 99, 33, 69, 77, 88, 55, 11, 33, 36, 39, 66, 44, 22]))