归并排序也称合并排序,其算法思想是将待排序序列分为两部分,依次对分得的两个部分再次使用归并排序,之后再对其进行合并。
基础归并排序算法
void mergesort(sqlist La,sqlist Lb){
int pa=0,pb=0,pc=0;
sqlist Lc;
int m=La.length+Lb.length;
Lc.length=m;
Lc.elem=(int *)malloc(sizeof(int));
while(pa<La.length&&pb<Lb.length){
if(La.elem[pa]<Lb.elem[pb]) Lc.elem[pc++]=La.elem[pa++];
else Lc.elem[pc++]=Lb.elem[pb++];
}
while(pa<La.length) Lc.elem[pc++]=La.elem[pa++];
while(pb<Lb.length) Lc.elem[pc++]=Lb.elem[pb++];
}
归并算法
最新推荐文章于 2024-05-09 22:34:32 发布