封装成函数:
//自顶向下归并排序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}
测试: