早教吧作业答案频道 -->数学-->
设线性表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时;或
题目详情
设线性表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均未显式存储.
设线性表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;
}
}
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;
}
}
看了 设线性表A=(a1,a2,…...的网友还看了以下:
在1和2之间插入n个正数a1,a2,a3,.an使这n+1个数成等比数列,又在1与2之间插入n个正 2020-05-13 …
试证:m*n矩阵A的秩为0或1的充分必要条件是有m+n个数a1,a2...am,b1,b2...b 2020-05-14 …
在1与2之间插入n个正数a1,a2,a3,…,an,使这n+2个数成等比数列;又在1与2间插入n个 2020-05-16 …
已知:如图,已知线段AB,过线段AB的两个端点作射线AM、BN,使得AM∥BN,∠MAB的平分线A 2020-05-16 …
如图,在△ABC的边上取两点D、E,且BD=CE,求证:AB+AC>AD+AE取BC中点M,连AM 2020-07-22 …
已知{an}是公差为d的等差数列,{bn}是公比为q的等比数列,设m,n,p,k都是正整数.(1) 2020-07-30 …
已知a1,a2,…,an;b1,b2,…,bn(n是正整数),令L1=b1+b2+…+bn,L2=b 2020-10-31 …
过线段AB的两个端点作射线AM、BN,使AM平行BN,过点E做一条直线交AM与点D,交BN于C,观察 2020-12-19 …
数列{an}中,a1=1,a5=13,an+2+an=2an+1;数列{bn}中,b2=6,b3=3 2020-12-23 …
数列{an}中,a1=1,a5=13,an+2+an=2an+1;数列{bn}中,b2=6,b3=3 2020-12-23 …