| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1951 人关注过本帖
标题:怎么实现两个升序的链表合并后还是升序的
只看楼主 加入收藏
浅暗花璃
Rank: 1
等 级:新手上路
帖 子:53
专家分:0
注 册:2016-3-31
结帖率:77.78%
收藏
 问题点数:0 回复次数:5 
怎么实现两个升序的链表合并后还是升序的
怎么实现两个升序的链表合并后还是升序的放在原来的链表中
2016-06-10 16:05
linlulu001
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:20
帖 子:944
专家分:4047
注 册:2016-4-13
收藏
得分:0 
struct student *insert(struct student *ah,struct student *bh)
{
    struct student *pa1,*pa2,*pb1,*pb2;
    pa2=pa1=ah;
    pb1=pb2=bh;
    do
    {
        while((pb1->num>pa1->num)&&(pa1->next!=NULL))
        {
            pa2=pa1;
            pa1=pa1->next;
        }
        if(pb1->num<=pa1->num)
        {
            if(ah==pa1)
                ah=pb1;
            else
                pa2->next=pb1;
            pb1=pb1->next;
            pb2->next=pa1;
            pa2=pb2;
            pb2=pb1;
        }
    }while((pa1->next!=NULL)||(pa1==NULL&&pb1!=NULL));
    if((pb1!=NULL)&&(pb1->num>pa1->num)&&(pa1->next==NULL))
    pa1->next=pb1;
    return (ah);
}
你参考下,估计对你会有帮助
2016-06-10 17:10
随风飘荡
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:3
帖 子:208
专家分:598
注 册:2011-9-9
收藏
得分:0 
两个有序的表,怎么合并成一个,这其实很简单。
两个一起看,谁小取出谁,直到其中一个为空,然后把剩下的接上
2016-06-10 20:08
浅暗花璃
Rank: 1
等 级:新手上路
帖 子:53
专家分:0
注 册:2016-3-31
收藏
得分:0 
2016-06-11 17:09
a1772847173
Rank: 1
等 级:新手上路
帖 子:3
专家分:5
注 册:2016-6-11
收藏
得分:0 
2016-06-11 20:22
time1609
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:59
专家分:118
注 册:2016-5-10
收藏
得分:0 
先合并在排一下序吧
2016-06-14 14:48
快速回复:怎么实现两个升序的链表合并后还是升序的
数据加载中...
 
   



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

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