您当前的位置: 首页 > 

宝哥大数据

暂无认证

  • 0浏览

    0关注

    1029博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

八大排序---归并排序

宝哥大数据 发布时间:2017-03-20 23:40:27 ,浏览量:0

八种排序的关系:

这里写图片描述

一、基本思想

归并排序将两个有序表合并·成一个新的有序表, 即把待排序的序列分成若干个子序列,每个序列都是有序的,然后将有序子序列合并成整体有序序列。

二、实例

这里写图片描述

三、实现过程解析

归并排序的核心经过两个分解, 合并, 分解: 由于合并中合并的序列必须为有序序列, 如何选择, 不断的惊醒分解, 分解到成一个元素的序列,那一定是一个有序的序列,这就要借助递归, 将一个源序列拆分成一个个有序的序列 然后就是进行合并。

这里写图片描述

3.1 、合并,将两个有序的序列合并成一个有序的序列

首先来看合并部分, 提供连个子序列, 设定为有序的 数组data[] 中 left … center center … right 合并就是将者两个子序列进行合并。 创建一个临时数组用于存储这个序列的元素, 长度为两个子序列的长度:

int tmpArr = new int[right-left+1];

定义一个变量用于存储存到临时数组中的索引

int third = left;

定义一个变量作为第二个元素的索引记录

int tmp=left;
int mid = center+1;

因为两个子序列都是有序序列, 所以从两个序列中依次拿出元素比较, 小的元素存入临时数组中。

        while(left            
关注
打赏
1587549273
查看更多评论
0.0526s