归并排序
归并排序运用了递归的思想,从数组中间分开,把左右两边分别进行排序,再进行合并,左右两边的数组也分成左右两边,层层递归,排序的过程不在向下分的过程,而在最后的合并。
两个有序的数组合成一个新的有序的数组,从最左侧开始进行比较,把较小的数放进临时数组,并将下标向右移动,直到两个数组中的一个数组全部被放进临时数组,之后将另一个数组中剩余的元素全部放进临时数组,这样在临时数组中,所有元素都是有序的。
把临时数组复制到原数组中对应的位置,就完成了这一部分的排序,再层层递归,就可以完成整个数组的排序。
代码如下