作业帮 > 数学 > 作业

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

来源:学生作业帮 编辑:作业帮 分类:数学作业 时间:2024/05/25 16:36:14
设线性表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;
}
}