标题:麻烦大家帮忙看看
只看楼主
a986776335
Rank: 2
等 级:论坛游民
威 望:1
帖 子:7
专家分:17
注 册:2013-1-16
结帖率:0
已结贴  问题点数:20 回复次数:5 
麻烦大家帮忙看看
#include

struct Node
{
int Data;
Node* next;
};
class list
{
Node* head;
public:
list(){head=NULL;}
//void insertlist(int aDate,int bDate);//链表结点的插入
void insertlist(int Date);
void Deletelist(int aDate);//链表结点的删除
void Outputlist();//链表结点的输出
Node*Gethead(){return head;}
};
void list::insertlist(int Date)//单链表插入
{
    Node *p,*s;

    s=((Node*)new Node);
    s->Data=Date;

    p=head;
    if(head==NULL)
    {
        head=s;
        s->next=NULL;
    }
    else
    {
        p->next=s;
        s->next=NULL;
    }
}
void list::Outputlist()
{
    Node* current=head;
    while(current!=NULL)
    {
        cout<Data<<'\t';
        current =current->next;
    }
}
void main()
{
    list a;
    for(int i=1;i<10;i++)
    {
        a.insertlist(i);
        cout<<ENDL;
    }
        a.Outputlist();
}
不知道为什么无法得到预期的结果,这样子的结果输出的数据是 1     9;
麻烦大家帮忙看看。哪里有错。
搜索更多相关主题的帖子: head void include public return 
2013-04-03 15:40
peach5460
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:武汉
等 级:贵宾
威 望:30
帖 子:2780
专家分:6060
注 册:2008-1-28
得分:10 
程序代码:
void list::insertlist(int Date)//单链表插入
{
    Node *p,*s;

    s=((Node*)new Node);
    s->Data=Date;

    p=head;
    if(head==NULL)
    {
        head=s;
        s->next=NULL;
    }
    else
    {
        p->next=s;
        s->next=NULL;
    }
}

告诉我你这段insert的逻辑是什么...

我总觉得授人以鱼不如授人以渔...
可是总有些SB叫嚣着:要么给代码给答案,要么滚蛋...
虽然我知道不要跟SB一般见识,但是我真的没修炼到宠辱不惊...
2013-04-03 20:41
fanpengpeng
Rank: 8Rank: 8
来 自:南极洲
等 级:蝙蝠侠
威 望:7
帖 子:299
专家分:849
注 册:2013-2-1
得分:10 
 s=((Node*)new Node);

那个告诉你 new也要进行类型转换的啊 最外这一层的()是其什么作用啊

人生是一场错过 愿你别蹉跎
2013-04-03 20:50
a986776335
Rank: 2
等 级:论坛游民
威 望:1
帖 子:7
专家分:17
注 册:2013-1-16
得分:0 
回复 2楼 peach5460
首先创建一个新的节点s,然后判断头节点是否为空。为空着s赋值为头结点。next为NULL,如果头节点不为空。则上一个节点的下一个节点赋值为s ,s的下一个节点为NULL,这个逻辑帮忙看一下。
2013-04-05 18:54
a986776335
Rank: 2
等 级:论坛游民
威 望:1
帖 子:7
专家分:17
注 册:2013-1-16
得分:0 
回复 3楼 fanpengpeng
额。那个只是。多余的
2013-04-05 18:54
peach5460
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:武汉
等 级:贵宾
威 望:30
帖 子:2780
专家分:6060
注 册:2008-1-28
得分:0 
以下是引用a986776335在2013-4-5 18:54:02的发言:

首先创建一个新的节点s,然后判断头节点是否为空。为空着s赋值为头结点。next为NULL,如果头节点不为空。则上一个节点的下一个节点赋值为s ,s的下一个节点为NULL,这个逻辑帮忙看一下。
上一个节点在哪?

我总觉得授人以鱼不如授人以渔...
可是总有些SB叫嚣着:要么给代码给答案,要么滚蛋...
虽然我知道不要跟SB一般见识,但是我真的没修炼到宠辱不惊...
2013-04-05 19:19



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




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

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