标题:求助!单链表合并问题!
只看楼主
梦想中国
Rank: 2
等 级:新手上路
威 望:5
帖 子:539
专家分:0
注 册:2006-2-26
得分:0 

楼上的程序是按顺序表的思想写的吧,我这是链表比较插入


2006-03-21 22:00
haishanglang
Rank: 1
等 级:新手上路
帖 子:378
专家分:0
注 册:2006-3-2
得分:0 
抱歉,没仔细看楼主的意图,见笑了,我在想会啊

2006-03-21 22:13
haishanglang
Rank: 1
等 级:新手上路
帖 子:378
专家分:0
注 册:2006-3-2
得分:0 
else
{
while(La&&Lb)
{
if(Lb->data>=La->data&&Lb->data<=La->next->data) //把Lb插入La中
{
p=(LinkList)malloc(sizeof(Lnode)));
p->data=Lb->data;
p->next=La->next; //完成插入
La->next=p;
La=p;
Lb=Lb->next;
}
else La=La->next;
}
if(!La&&Lb) //La 比 La长
{
La->next=Lb; //把剩余的Lb直接接到La的尾端
}

}
要求La和 Lc 中的data是按从小到大排列的,楼主再看看这个程序,是插入的我没运行,不知能否运行,但我想思想是对的

2006-03-21 22:40
haishanglang
Rank: 1
等 级:新手上路
帖 子:378
专家分:0
注 册:2006-3-2
得分:0 
应该是: if(!La&&Lb) //Lb 比 La长

2006-03-21 22:42
haishanglang
Rank: 1
等 级:新手上路
帖 子:378
专家分:0
注 册:2006-3-2
得分:0 
还要补充:
首先
ca=La; //保存La的头结点

.....
else
{
while(La&&Lb)
{
if(Lb->data>=La->data&&Lb->data<=La->next->data) //把Lb插入La中
{
p=(LinkList)malloc(sizeof(Lnode)));
p->data=Lb->data;
p->next=La->next; //完成插入
La->next=p;
La=p;
Lb=Lb->next;
}
else La=La->next;
}
if(!La&&Lb) //La 比 La长
{
La->next=Lb; //把剩余的Lb直接接到La的尾端
}
Lc=ca; //把La的头结点给Lc
return Lc
;
}

2006-03-21 22:46
梦想中国
Rank: 2
等 级:新手上路
威 望:5
帖 子:539
专家分:0
注 册:2006-2-26
得分:0 
谢谢楼上

2006-03-21 22:51
feng1256
Rank: 4
等 级:贵宾
威 望:14
帖 子:2899
专家分:0
注 册:2005-11-24
得分:0 

[CODE]
LinkList MergeList(LinkList La,LinkList Lb,LinkList Lc)
{

if (La && !Lb )
Lc=La;
else if(Lb && !La)
Lc=Lb;
else
{
while( La && Lb )
{
if(La->data <= Lb->data)
{
Lc=CreateList( Lc,La->data);
La=La->next;
}
else
{
Lc=CreateList( Lc,Lb->data);
Lb=Lb->next;
}
}

while(La)
{
Lc=CreateList( Lc,La->data);
La=La->next;
}

while(Lb)
{
Lc=CreateList( Lc,Lb->data);
Lb=Lb->next;
}
}
return Lc;
}

[/CODE]


叁蓙大山:工謪、稅務、嗣發 抱歉:不回答女人的问题
2006-03-22 02:56



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-51885-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.283386 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved