读书人

试写一个按上列规则合并AB为线性表C

发布时间: 2012-09-06 10:37:01 作者: rapoo

试写一个按下列规则合并A,B为线性表C的算法
设线性表 A=(a1,a2,…,am),B=(b1,b2,…,bn),试写一个按下列规则合并A,B为线性表C的算法,即使得
C=(a1,b1…,am,bm,bm+1,…,bn)当m<=时;
C=(a1,b1…,an,bn,an+1,…,am)当m>n时。
线性表A,B和C均以单链表作存储结构,且C表利用A表和B表中的结点空间构成。注意:单链表的长度值m和n均未显式存储。
不知道这样写有没有问题;单链表当有头结点:
status sort(LinkList &LA,LinkList &LB)
{
LinkList LC,q;
q=LA;
LC=q;
while(LA->next||LB->next)
{
if(LA->next) {q->next=LA->next;q=q->next;LA=LA->next;}
if(LB->next) {q->next=LB->next;q=q->next;LB=LB->next;}
}
return LC;
}

[解决办法]
应该对了吧!
[解决办法]
应该对了,如果非要说个问题的话,
1.LA如果为NULL的时候,会出错

2.参数是引用(LinkList &LA,LinkList &LB)
但是在后面对LA和LB都进行了修改。
那么当合并之后,LB的头结点没有释放,可能会有内存问题。

读书人网 >C语言

热点推荐