java 二路归并算法实现

来源:百度知道 编辑:UC知道 时间:2024/07/12 16:55:57
给我说一下思路。。。源码不要因为我有,只不过源码注释一点没有,实在看不明白
http://www.cnitblog.com/intrl/archive/2009/04/25/56717.html这上面有我说的源码。。。看不太明白。。。

1、算法基本思路
设两个有序的子文件(相当于输入堆)放在同一向量中相邻的位置上:R[low..m],R[m+1..high],先将它们合并到一个局部的暂存向量R1(相当于输出堆)中,待合并完成后将R1复制回R[low..high]中。

合并过程
合并过程中,设置i,j和p三个指针,其初值分别指向这三个记录区的起始位置。合并时依次比较R[i]和R[j]的关键字,取关键字较小的记录复制到R1[p]中,然后将被复制记录的指针i或j加1,以及指向复制位置的指针p加1。
重复这一过程直至两个输入的子文件有一个已全部复制完毕(不妨称其为空),此时将另一非空的子文件中剩余记录依次复制到R1中即可。

我源码都没有···更难得说明白···你把源码贴出来呗~~