封装成函数:
//自顶向下归并排序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}
测试:
{9658743fmt.Println)MergeSortUpTodown)//MergeSortDownToUp(s))输出:
[9 0 6 5 8 2 1 7 4 3] [0 1 2 3 4 5 6 7 8 9]
总结以上是内存溢出为你收集整理的算法代码实现之归并排序,Golang(Go语言)实现,自顶向下与自底向上两种方式全部内容,希望文章能够帮你解决算法代码实现之归并排序,Golang(Go语言)实现,自顶向下与自底向上两种方式所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)