标题:问个关于链表合并的问题
取消只看楼主
大大猫
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2011-8-19
结帖率:81.25%
已结贴  问题点数:20 回复次数:0 
问个关于链表合并的问题
请帮忙看下以下程序错没错,谢谢
srtuct stu
{
    int no;
    struct stu *next;
};
struct stu *insert(struct stu *ah,struct stu *bh)//ah和bh两个链表合并,按学号升序排列
{
    struct stu *pa1,*pa2,*pb1,*pb2;
    pa1=pa2=ah;
    pb1=pb2=bh;
    do
    {
        while((pb1->no>pa1->no)&&(pa1->next!=null))
        {
            pa2=pa1;
            pa1=pa1->next;
        }
        if(pb1->no<=pa1->no)
        {
            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->no>pa1->no)&&(pa1->next==null))
        pa1->next=pb1;
    return (ah);
}
搜索更多相关主题的帖子: insert while null 
2011-10-26 17:10



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




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

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