关于数据结构的链表问题

intLength_LinkList(LinkListL){intlen;//len记录链表L的表长LNode*p;p=L;//指向第一个结点len=0;while(p!... intLength_LinkList(LinkListL)
{
intlen;//len记录链表L的表长
LNode*p;
p=L;//指向第一个结点
len=0;
while(p!=NULL)
{
len++;//结点数加1
p=p->next;
}
returnlen;
}

哪个大佬告诉我while(p!=null)在这里面的用处
如果改成while(p->next)会是什么样的
展开
 我来答
samismiling
2019-03-03 · 知道合伙人软件行家
samismiling
知道合伙人软件行家
采纳数:1340 获赞数:5602

向TA提问 私信TA
展开全部

代码中while(p!=NULL)等同于while(p)

intLength_LinkList(LinkListL)
{
intlen;//len记录链表L的表长
LNode*p;
p=L;//指向第一个结点
len=0;
while(p!=NULL) //等同于while(p)
{
len++;//结点数加1
p=p->next;
}
returnlen;
}

所以你说的while(p->next)也就等同于while(p->next != null),那么你的循环就会少最后一个节点(因为它自己不是null但是它的next是null)

更多追问追答
追问
那这个的意思是不是头结点不算结点个数?
追答
不是啊,这个就是所有节点都在内了,第一个节点就是头结点
光点科技
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件... 点击进入详情页
本回答由光点科技提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式