C语言数据结构,各位大侠,小弟的程序初始化了链表,并输出,但是运行时却无法正常输出,谢谢大家了

[复制链接]
查看11 | 回复3 | 2011-3-18 23:18:11 | 显示全部楼层 |阅读模式
if(head==NULL){ head=p;
//这里赋值颠倒了,作用是得到链表头 trail=p;
//这里应该是将当前创建的结构体暂时放到trail中,备用}else trail->next=p;
//这里倒是对的,作用是将前面建的结构体的*next指针指向当前新建的结构体,*p指针指向的总是当前最新的结构体 trail=p;
//同样保存当前结构体,备用}注意:最后一个结构体的*next还要赋值NULL,否则输出没底了...
回复

使用道具 举报

千问 | 2011-3-18 23:18:11 | 显示全部楼层
粗略浏览了一下,大概下面错了 if(head==NULL){ p=head;//赋值应该改为head = p; trail=head;}...
回复

使用道具 举报

千问 | 2011-3-18 23:18:11 | 显示全部楼层
由于链表中没有其他节点就把头结点的next置为空,这一点如果不明白的话去看链表那一章,有介绍!!!之后从后往前建立链表!!刚开始是L->next =NULL要注意p是每次新建的节点,这样从后往前以此建立链表,只要明白p是每次新建的节点,和从后往前建立,就会明白的!!给你花了张图!!...
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行