标题:[讨论]谁能解释建立单链表的代码???
只看楼主
一刀客
Rank: 1
等 级:新手上路
帖 子:181
专家分:0
注 册:2007-10-26
 问题点数:0 回复次数:6 
[讨论]谁能解释建立单链表的代码???

/*尾插入法建表函数*/
linklist *creatlinkt()
{
linklist *s,*t,*head;
datatype1 x;
head=(linklist *) malloc(sizeof(len));/* 得到第一个结点的地址*/
head->next=null;/*置空,避免乱指*/
s=head;/* s也指向第一个结点 */
printf("输入链表x:\n");
scanf(%d,&x);/*得到第一个元素*/
while(x!=end)
{ t=(linklist *) malloc(len); /* 得到第二个结点的地址*/
t->data=x;/* 将x放到第二个结束的data域中,怎么不放到第一个结点的data域中呢?*/
t->next=null;
s->next=t;/* 将第二个结点的地址放到第一个结点的next中,对不?*/
s=t;/* s指向第二个结点,供一下次的s->next=t使用*/
scanf(d,&x);
}
return(head);

}
我上面的理解,建立的链表的第一个结点岂不是没有元素?即head->data没有元素。
但它是正确是代码。我还有哪些没有理解~~~???
大家指点迷津吧~~~

搜索更多相关主题的帖子: 单链 结点 head linklist data 
2007-11-17 16:47
一刀客
Rank: 1
等 级:新手上路
帖 子:181
专家分:0
注 册:2007-10-26
得分:0 
不好意思~~~应该是scanf("%d",&x);

责人之心责己 宽己之心宽人
2007-11-17 16:48
Kid_X
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:216
专家分:515
注 册:2007-10-8
得分:0 

按照我的理解,head是头结点,而不是首结点,所以只存放地址,而没有data。

2007-11-17 20:09
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
得分:0 

带头结点的头head是只有指示作用的,所以数据域不起作用.


倚天照海花无数,流水高山心自知。
2007-11-17 20:22
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
得分:0 
但可以作为一个结点个数的计数器

倚天照海花无数,流水高山心自知。
2007-11-17 20:22
wangtuan7788
Rank: 1
等 级:新手上路
帖 子:286
专家分:0
注 册:2007-10-8
得分:0 
那个是头结点,不存放数据

你笑我和你们不一样,我笑你们大家都一样~
2007-11-17 20:44
一刀客
Rank: 1
等 级:新手上路
帖 子:181
专家分:0
注 册:2007-10-26
得分:0 
知道了~~~

责人之心责己 宽己之心宽人
2007-11-18 22:11



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




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

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