头结点,头指针,首元结点的三角恋

最近在学习链表,出现了几个容易混淆的概念,分别是头结点,头指针,首元结点,他们三个到底是什么关系呢?
头结点:
       头结点是链表里面第一个结点,他的数据域可以不存放任何信息(有时候也会存放链表的长度等等信息),他的指针区域存放的是链表中第一个数据元素的结点(就是传说中的首元结点)存放的地址。为什么要设头结点呢?第一点,防止防止单链表是空的而设的.当链表为空的时候,带头结点的头指针就指向头结点.如果当链表为空的时候,单链表没有带头结点,那么它的头指针就为NULL;第二点,为了方便对链表的插入、删除的操作,如果有头结点,在插入删除时,无论处理的是否是第一个元素、是否为空表,操作都是一样的。当然,链表可以不带头结点,只是插入删除在实现时麻烦一点。
首元结点:
       首元结点就是链表里面第一个元素的结点,也就是a1的结点。在存在头结点的情况下,头结点的指针区域指的就是首元结点。
头指针:
       如果链表里有头结点,头指针就指向头结点;如果没有头结点,头指针就指向首元结点。


这三个概念对单链表,双向链表,循环链表均适用。
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值