开发者社区> 问答> 正文

请用递归方法写出归并排序的主要思想和算法

请用递归方法写出归并排序的主要思想和算法

展开
收起
知与谁同 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
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
数据+算法定义新世界 立即下载
袋鼠云基于实时计算的反黄牛算法 立即下载
Alink:基于Apache Flink的算法平台 立即下载