概述
两个排好序的数组合并都很简单,但到具体怎么二分递归及代码实现就脑子短路了
比如递归返回什么?递归到最后怎么排序?
我还以为是每次递归回来就合并再返回到上一层,返回后用啥装呢?……我还以为每次把传过来的数组分成两个数组再进行操作……
也不是说完全想的没道理,就是想的太乱了。
首先,总共需要两个void函数,两个数组。
两个函数分别用来递归和每层递归后的最后的合并;
而一切的操作并不是通过每层创建两个临时数组实现,而是直接在A数组本身上操作,B数组起辅助作用
void mergesort(int a[],int left,int right) {
mergesort(a,left,mid);
mergesort(a,mid+1,right);
merge(a,left,
最后
以上就是传统大炮为你收集整理的合并排序-MergeSort的全部内容,希望文章能够帮你解决合并排序-MergeSort所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复