int MergeList_Sq(SqList La,SqList Lb,SqList &Lc)
{
//非递减顺序表La,Lb合并成非递减顺序表Lc
ElemType *pa,*pb,*pc,*pa_last,*pb_last;
pa=La.elem;
pb=Lb.elem;
Lc.length=Lc.listsize=La.length+Lb.length;
//为Lc分配空间
pc=Lc.elem=(ElemType *)malloc(Lc.listsize*sizeof(ElemType));
if(!Lc.elem) exit(1);
pa_last=La.elem+La.length-1;
pb_last=Lb.elem+Lb.length-1;
//合并La和Lb 为Lc
while((pa<=pa_last) && (pb<=pb_last))
{
if (*pa=*pb) *pc++=*pa++;
}
return 1;
}
-----------------------------------------------------------
时间复杂度为O(La.length+Lb.length)