您当前的位置: 首页 >  宝哥大数据

八大排序---归并排序

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

八种排序的关系:

一、基本思想

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

二、实例

三、实现过程解析

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

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            
关注
打赏
查看更多评论