封装成函数:
//自顶向下归并排序func MergeSortUpToDown(s []int) { aux := make([], lens)) //辅助切片 mergeSortUpToDown aux 0)-1)}//自底向上归并排序func MergeSortDownToUp n for sz ;< n*=2 lo -sz+=* merge lo+- minlo+2}}func mergeSortUpToDown hi if>= hi return mid lo hi>>1 mid//归并操作func merge k <= k++[k]= s i j i >j jelseifunc min j int j}
测试: