单链表———带头结点跟不带头结点的区别

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

数据结构中单链表的创建 带头结点跟不带头结点的区别

一、单链表:带头结点跟不带头结点

指针:通常使用“头指针”来标识一个链表,如单链表L,头指针为NULL的时表示一个空链表。链表非空时,头指针指向的是第一个结点的存储位置。

头结点:在单链表的第一个结点之前附加一个结点,称为头结点。头结点的Data域可以不设任何信息,也可以记录表长等相关信息。若链表是带有头结点的,则头指针指向头结点的存储位置。

无论是否有头结点,头指针始终指向链表的第一个结点。如果有头结点,头指针就指向头结点(只不过头结点的数据域为空而已)。
在这里插入图片描述

二、使用步骤

代码如下(示例):

//不带头结点的链表,在表头插入节点
x->next=head;
head=x;

//不带头结点的链表,在表头以外的地方插入结点
x->next=p->next;
p->nexy=x;

//带头结点的链表,在第一个位置插入节点
x->next=p->next;
p->nexy=x;

//带头结点的链表在其他位置插入节点
x->next=p->next;
p->nexy=x;


总结

这时你会发现不带头结点的两种情况操作步骤不一样,而带头结点的两种情况步骤是一样的。所以带头结点的单链表插入更简单,更有健壮性。当然你会问为什么要区分,我们两种都会的化可以根据实践要求来选择合适的一种使用。

参考文章:https://blog.csdn.net/qq_41623154/article/details/105617047

  • 14
    点赞
  • 70
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值