归并排序
有序子列的归并问题,与前面的多选式存放是一样的。

有序子列的归并代码实现
分而治之策略
分而治之-具体实现有两种方式(递归、非递归)
分而治之-递归
这个实现方式非常不友好,我们只需要传入待排序的数组,和数组长度两个参数。而不是一堆参数,下面是优化后写法。
这个带这着TmpA,只需free一次(释放),如果不这样做,就是这面这种情况,好的做法是只申请一个临时数组。 
分而治之-非递归
下面是非递归的实现思路和步骤。
一趟的归并的代码实现
完整归并接口实现 
总结
归并排序虽然很稳定,但是归并排序需要额外的空间(临时数组来回倒数据),在实际排序应用中不被用作内排序(所有数据在内存中完成)。归并排序在什么情况特别好呢?就是在外排序的时候非常好。