设线性表A =(a1,a2,…,am),B=(b1,b2,…,bn),试写一个算法

问题描述:

设线性表A =(a1,a2,…,am),B=(b1,b2,…,bn),试写一个算法
设线性表A =(a1,a2,…,am),B=(b1,b2,…,bn),试写一个按下列规则合并A,B为线性表C的算法,使得
C=(a1,b1,…,am ,bm ,bm+1,…,bn) 当m≤n时;
或者 C=(a1,b1,…,an ,bn ,an+1,…,am) 当m>n时.
线性表A,B和C均以带头结点的单链表作为存储结构,且C表利用A表和B表中的结点空间构成.(注意:单链表的长度值m和n均未显式存储.

p=headA->next
q=headB->next
head=p
p=p->next
r=head
while(q!=null&&p!=null)
{
r->next=q;
r=r-next;
q=q->next;
r->next=p;
r=r->next;
p=p->next
}
if(p==NULL)
{
while(q!=null)
{
r->next=q;
r=r->next;
q=q->next;
}
}
if(q==NULL)
{
while(p!=null)
{
r->next=p;
r=r->next;
p=p->next;
}
}