首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

试写一个按上列规则合并A,B为线性表C的算法

2012-09-06 
试写一个按下列规则合并A,B为线性表C的算法设线性表 A(a1,a2,…,am),B(b1,b2,…,bn),试写一个按下列规则合

试写一个按下列规则合并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的头结点没有释放,可能会有内存问题。

热点排行