请用递归方法写出归并排序的主要思想和算法
收起
知与谁同
2018-07-16 15:08:58
1995
0
1
条回答
写回答
取消
提交回答
-
1. 判定序列array[m,n]长度是否为1,如果为1直接返回
2. 否则分别归并排序序列array[m, (m + n) / 2]和序列array[(m + n) / 2 + 1, n]
3. 归并序列array[m, n]
void merge(int array[], int begin, int end)
{
if ((end - begin) <= 1)
return;
merge(array, begin, (begin + end) / 2);
merge(array, (begin + end) / 2 + 1, end);
//合并两个数组区域。这部份就不写了,一个序列2元素顺序插入序列1的过程
}
2019-07-17 22:51:00