参考链接:
开始结点:
链表中的第一个结点,它没有直接前驱
头指针:
指向开始结点的指针(没有头结点的情况下;有头结点时头指针指向头结点)。
一个单链表可以由其头指针唯一确定,一般用其头指针来命名单链表
不论链表是否为空,头指针总是非空
头结点:
在链表的开始结点之前附加的一个结点。不是链表的必须要素。
有了头结点之后头指针指向头结点,而且头结点的设置使得对链表的第一个位置上的操作与在表中其它位置上的操作一致
注:
单链表的头指针指向头结点。
头结点的指针域存储指向第一结点的指针(即第一个元素结点的存储位置)
头结点的数据域可以不存储任何信息,也可以存储如线性表的长度等类的附加信息
若线性表为空表,则头结点的指针域为空。
头指针作用:
就是存放数组地址,也即是链表地址。
头结点好处:
首先它是链表中的元素,是个有效的结点;
好处1:对带头结点的链表,在链表中的任何位置插入或删除结点,要做的就是修改前一结点的指针域,因为任何结点都有前驱结点;如果链表中没有头结点,则首元素结点没有前驱,那么在其前插入或删除首元素结点时候,操作比较麻烦。
好处2:对带头结点的链表,表头指针是指向头结点的非空指针,因为空表和非空表的处理是一样的。