以下创建链表的语句为什么不对啊,

[复制链接]
查看11 | 回复5 | 2011-2-10 23:08:46 | 显示全部楼层 |阅读模式
struct people{
int num;
people *next;
};
for(i=1;inum=i;
p=p->next;
}

回复

使用道具 举报

千问 | 2011-2-10 23:08:46 | 显示全部楼层
链表没有前后连接起来。与p同样定义一个q和head,然后如下修改:p = new(people);head = p;// 保存头结点指针,以后遍历需要使用for(i=1;inum=i; p->next =q;// 当前结点的next指向新结点p = p->next;// 当前结点指向新结点 }
回复

使用道具 举报

千问 | 2011-2-10 23:08:46 | 显示全部楼层
p=new people;在C++中,定义一个类people,才可以用new运算符来生成一个对象struct结构体不行的,改为:struct people{ int num; people *next;}; struct people * create(int n){ struct people *p1,*p2
回复

使用道具 举报

千问 | 2011-2-10 23:08:46 | 显示全部楼层
以注释的形式解释了每行代码,希望可以帮助你;struct node //链表的结构体,{ int data;//data用于存放链表节点的数据 node *next;//next用于存储下一个链表节点,以此形成链表的链};node *creatlist(int n);//函数的前向生命,此函数功能是用于创建列表的int mai
回复

使用道具 举报

千问 | 2011-2-10 23:08:46 | 显示全部楼层
p=p->next;创建结点时next域未知啊,赋值给p有什么作用?
回复

使用道具 举报

千问 | 2011-2-10 23:08:46 | 显示全部楼层
people 不是类不要用new来初始化for里面循环N次,但只有一个变量找书把基础打一打
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行