标题:这个哪里错了啊
只看楼主
leileimao
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2005-12-3
 问题点数:0 回复次数:10 
这个哪里错了啊

#include<iostream>
#include<cstdlib>
using namespace std;
typedef struct QNode{
int data;
struct QNode *next;
}QNode,*s;
typedef struct{
s front;
s rear;
}Linkqueue;
int initqueue(Linkqueue &l)
{
int i;
l.front=new QNode();
for(i=0;i<=5;i++){
l.front->data=i;
cout<<l.front;
}
l.rear->next=NULL;
cout<<endl;
return 0;
}
int main(){
Linkqueue l;
initqueue(l);
}


这个为什么运行的时候会出现不能读取啊,还有乱码是怎么回事啊?
希望能告诉偶

搜索更多相关主题的帖子: next include return 
2005-12-08 12:59
leileimao
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2005-12-3
得分:0 

为什么没有人看啊,偶很心急啊

2005-12-08 20:42
leileimao
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2005-12-3
得分:0 

为什么没有人看啊

2005-12-10 09:40
badstreams
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2005-11-23
得分:0 
你在做循环的时候,没有开辟空间啊
.这样系统没有办法辨别啊
2005-12-11 15:35
leileimao
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2005-12-3
得分:0 
不明白意思啊,能不能说清楚点啊
2005-12-11 20:43
unicorn
Rank: 4
等 级:贵宾
威 望:14
帖 子:1066
专家分:0
注 册:2005-10-25
得分:0 
for循环里也要为节点开辟空间的

在for循环里末尾加 l.front=new QNode();

[此贴子已经被作者于2005-12-14 14:01:51编辑过]


unicorn-h.spaces. ◇◆ sava-scratch.spaces.  noh enol ! pue pu!w hw u! shemle aq ll!m noh 
2005-12-11 21:26
leileimao
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2005-12-3
得分:0 

还是弄不懂啊,不好意思,能不能把程序写好啊
谢谢了

2005-12-14 12:34
unicorn
Rank: 4
等 级:贵宾
威 望:14
帖 子:1066
专家分:0
注 册:2005-10-25
得分:0 

#include<iostream>
#include<cstdlib>
using namespace std;
typedef struct QNode{
int data;
struct QNode *next;
}QNode,*s;
typedef struct{
s front;
s rear;
}Linkqueue;
int initqueue(Linkqueue &l)
{
int i;
l.front=new QNode();
for(i=0;i<=5;i++){
l.front->data=i;
cout<<l.front;
l.front=new QNode(); // 节点所需空间

}
l.rear->next=NULL;
cout<<endl;
return 0;
}
void main(){
Linkqueue l;
initqueue(l);
}


unicorn-h.spaces. ◇◆ sava-scratch.spaces.  noh enol ! pue pu!w hw u! shemle aq ll!m noh 
2005-12-14 14:07
leileimao
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2005-12-3
得分:0 
偶先谢谢了,不过偶运行的时候它还是会出现无法运行啊,
这个样子,怎么回事啊?
2005-12-14 21:21
minima
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2005-12-13
得分:0 
楼上正解
这好像是数据结构里的链表的实现
int initqueue(Linkqueue &l)
{
int i;
for(i=0;i<=5;i++){

l.front=new QNode();//每次循环都生成 节点

l.front->data=i;
cout<<l.front;
}
l.rear->next=NULL;
cout<<endl;
return 0;
}
这样更好:-)
不过这里没有head节点啊
最好还是声明一个head好一点

2005-12-14 21:22



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




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

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