归并算法,正如他的名字一样,递归算法+合并算法,所以想要学习这个算法,可以从两方面先入手,一就是先学习递归算法,了解递归思想。二肯定就是合并算法;这两个算法并不难学,不知道的可以先查一下资料。
还是先看递归算法把,代码很简单,没什么技术含量,重点是他的结束条件,也就是递归基该怎么取得问题
合并算法看下面两张图片,行数太多没法截在一起,请见谅:
好了。主要的代码就在上面了,下面给个运行代码
假如你看不懂的话,那就对了,我自己写完都觉得理解起来挺费劲的。主要还是自己去推敲一遍,里面重点部分我都有注释,做排序算法必须注意细节问题,特别是数组,很容易就越界,造成程序异常,所以要用心点,避免一些小错误,人的定向思维,导致查错很困难。实在查不出来,那就休息一下吧。等等再来看,可能一下就看出来了