试写一个算法,将两个有序线性表合并成一个有序线性表。

2024-12-27 01:58:30
推荐回答(1个)
回答1:

void MergeList_L(LinkList &La,LinkList &Lb,LinkList &Lc)
{
//已知单链线性表La和Lb的元素按非递减排列
//归并La和Lb得到新的单链线性表Lc,Lc的元素也按值非递减排列
AH=La;BH=Lb;CH=Lc;
pa=AH_next;pb=BH_next;
CH=pc=AH;//用La的头结点作为Lc的头结点
while(pa&&pb)
{
if(pa->data<=pb->data){
pc-next;
}
elsr {pc->next=pb;pc=pb;pb=pb->next;}
}
pc->next=pa?pa:pb;//插入剩余段
free(BH);//释放Lb的头结点
}//MergeList_L