| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 627 人关注过本帖
标题:我写的双向链表的创建程序有错,请指教!
只看楼主 加入收藏
yangchuan545
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2006-4-5
收藏
 问题点数:0 回复次数:6 
我写的双向链表的创建程序有错,请指教!

#include"stdio.h"
#include"malloc.h"
typedef char DataType;
typedef struct node
{
DataType data;
struct node *next,*prior;
}dlistnode;
typedef dlistnode *dlinklist;

dlinklist createdlist()
{
dlinklist head;
dlistnode *p;
DataType ch;
head=NULL;
while((ch=getchar())!='\n')
{
p=(dlistnode *)malloc(sizeof(dlistnode));
p->data=ch;
p->next=head;
head=p;
p->next->prior=p; //错误可能就是这一句,我不知道原因!
}
return head;
}

void Print(dlinklist L)
{
dlistnode *p;
p=L;
while(p)
{
printf("%c",p->data);
p=p->next;
}
}

void main(void)
{
dlinklist dlist1;
dlist1=createdlist();
Print(dlist1);
}

搜索更多相关主题的帖子: 链表 dlistnode DataType dlinklist 
2006-10-20 16:11
mxs810
Rank: 9Rank: 9Rank: 9
来 自:火星
等 级:贵宾
威 望:16
帖 子:234
专家分:1122
注 册:2006-10-19
收藏
得分:0 
链表的头结点不能存储内容!!!

也就是说p-〉data不能赋值!!!

授人以鱼不如授人以渔
2006-10-20 19:24
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
以下是引用yangchuan545在2006-10-20 16:11:39的发言:

#include"stdio.h"
#include"malloc.h"
typedef char DataType;
typedef struct node
{
DataType data;
struct node *next,*prior;
}dlistnode;
typedef dlistnode *dlinklist;

dlinklist createdlist()
{
dlinklist head;
dlistnode *p;
DataType ch;
head=NULL;//没有分配空间
head->next=NULL;
while((ch=getchar())!='\n')
{
p=(dlistnode *)malloc(sizeof(dlistnode));
p->data=ch;
/*p->next=head;
head=p;
p->next->prior=p; //错误可能就是这一句,我不知道原因!*/
head->next-prior=p; //头插法建立双链表
p->next=head->next;
head->next=p;
p->prior=head;

}
return head;
}

void Print(dlinklist L)
{
dlistnode *p;
p=L;
while(p)
{
printf("%c",p->data);
p=p->next;
}
}

void main(void)
{
dlinklist dlist1;
dlist1=createdlist();
Print(dlist1);
}


倚天照海花无数,流水高山心自知。
2006-10-20 22:49
longerhe
Rank: 1
等 级:新手上路
帖 子:120
专家分:0
注 册:2006-10-10
收藏
得分:0 
To:nuciewth

运行错误...
2006-10-21 14:09
hothui2008
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2006-10-22
收藏
得分:0 
[QUOTE]

我写的双向链表的创建程序有错,请指教! #include"stdio.h"
#include"malloc.h"
typedef char DataType;
typedef struct node
{
DataType data;
struct node *next,*prior;
}dlistnode;
typedef dlistnode *dlinklist;

dlinklist createdlist()
{
dlinklist head;
dlistnode *p;
DataType ch;
head=NULL;
while((ch=getchar())!='\n')
{
p=(dlistnode *)malloc(sizeof(dlistnode));
p->data=ch;
、、 p->next=head;
、、 head=p;
、、 p->next->prior=p; //错误可能就是这一句,我不知道原因!
if(head == NULL) { 、、看这样行不行

p->next = head;
head = p;

}
else {
p->next=head;
head->prior = p;
head=p;
}
}
return head;
}

void Print(dlinklist L)
{
dlistnode *p;
p=L;
while(p)
{
printf("%c",p->data);
p=p->next;
}
}

void main(void)
{
dlinklist dlist1;
dlist1=createdlist();
Print(dlist1);

[/QUOTE]
2006-10-22 16:33
hothui2008
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2006-10-22
收藏
得分:0 
上面蓝色是我写的,还不太懂怎么操作这个“引用”选项,见谅
2006-10-22 16:35
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
以下是引用longerhe在2006-10-21 14:09:04的发言:
To:nuciewth

运行错误...

你把楼主的程序改了.?


倚天照海花无数,流水高山心自知。
2006-10-22 18:43
快速回复:我写的双向链表的创建程序有错,请指教!
数据加载中...
 
   



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

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