自顶向下的归并排序
归并排序使用分治思想,将两个子数组排序,通过归并两个子数组来将整个数组排序
class TopDownMergeSort():
"""自顶向下的归并排序"""
@classmethod
def merge(cls, a, lo, mid, hi):
# 将a[lo...hi]复制到aux[lo...hi]
cls.aux[lo:hi + 1] = a[lo:hi + 1]
i = lo
j = mid + 1
k = lo
# 归并会a[lo...hi]