一、将一个任意次序的由n个整数构成的单一序列,我们用于两个序列,其中a为长度为n1的序列,b为长度为n2的序列,它们各自近似有n/2个元素,且这两个序列都已经排序。
二、MERGE(合并)算法在O(n1+n2)时间内可把两个已经排序的序列组合成单一的排序序列。
MERGE(a,b)
n1<-a的大小
n2<-b的大小
an1+1<-∞
bn2+1<-∞
i<-1
j<-1
for k<-1 ton1+n2
if ai<bj
ck<-ai
i<-i+1
else
ck<-bj
j<-j+1
returnc
三、递归形式完成合并排序。MERGESORT(C)
n<-c的大小
ifn=1
return c
left<-c的前n/2元素的片段
right<-C的后n-n/2元素的片段
sortedleft<-MERGESOFT(left)
sortedright<-MERGESOFT(right)
sortedList<-MERGE(sortedleft,sortedright)
returnsortedlist