/*
A和B是两个带头结点的单链表,其中元素递增有序。
将A和B合并成一个单链表C,使得C中元素非递减。
*/
void Merger(LNode *&A,LNode *&B,LNode *&C)
{
LNode *p = A->next;
LNode *q = B->next;
LNode *r;
C=A;
C->next = NULL;
free(B);
r=C;
while(p!=NULL&&q!=NULL)
{
if(p->data<=q->data)
{
r->next=p;
p=p->next;
r=r->next;
}
else
{
r->next=q;
q=q->next;
r=r->next;
}
}
r->next=NULL;
if(p!=NULL)
{
r->next=p;
}
if(q!=NULL)
{
q->next=q;
}
}
合并两个单链表(顺序与原来相同)

最新推荐文章于 2020-10-29 14:22:57 发布
