| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1899 人关注过本帖
标题:有关 单向链表 删除的问题?
只看楼主 加入收藏
九天冥盟
Rank: 2
等 级:论坛游民
威 望:1
帖 子:77
专家分:20
注 册:2015-7-14
结帖率:36%
收藏
已结贴  问题点数:10 回复次数:4 
有关 单向链表 删除的问题?
      为什么这个函数删不了输入的第一组数据;其他组数据都正常删除?   
          请大师指点指点!!!!!   
Student *del_1(Student *head,long num)
{
    Student *p1,*p2;
    p2=p1=head;
    if(head==NULL)
    {   
        cout<<" list NULL;"<<endl;
        return head;
    }
    else
    {
        while(p1->next!=NULL&&p1->number!=num)
        {
            p2=p1;  p1=p1->next;
        }
        if(p1->next==NULL)
        {
            if(p1->number==num)
               p2->next=NULL;
            else
                cout<<" sorry!!!!"<<endl;
        }
        else
        {
            if(p1==head)
              head=p1->next
;
            else
                p2->next=p1->next;
        }
    }
    return head;
}
2016-02-06 17:40
拉链
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:107
专家分:534
注 册:2016-1-22
收藏
得分:4 
从代码上看,没多大问题,估计是你调用的原因,调用方式是head=del_1(head,num)。
这代码设计太啰嗦。删除节点应该是最简单的,另要及时注销节点占用的内存。
2016-02-07 06:22
yangfrancis
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:141
帖 子:1510
专家分:7661
注 册:2014-5-19
收藏
得分:4 
检查一下是不是你链表输出的环节出了问题。
2016-02-07 09:57
寂静的豆苗
Rank: 1
等 级:新手上路
帖 子:1
专家分:4
注 册:2016-2-5
收藏
得分:4 
小问题,复制一遍试试!
2016-02-07 16:36
九天冥盟
Rank: 2
等 级:论坛游民
威 望:1
帖 子:77
专家分:20
注 册:2015-7-14
收藏
得分:0 
什么  复制?
2016-02-08 18:10
快速回复:有关 单向链表 删除的问题?
数据加载中...
 
   



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

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