在单链表的基本操作中,我们在实现时,往往在第一个结点(含有有效数据)之前添加另外一个结点,也就是头结点。同时我们称指向头结点的指针为头指针。结构如下图所示:
头节点中的数据域可以存储链表长度等额外的信息,也可以不存储任何信息。
头结点即链表中的第一个节点(注意头节点不同于第一个元素),而头指针则是指向头结点的指针(有头结点的情况下)。任何一个链表实现中,可以没有头结点,但是不能没有头指针。
我们这里用图形描述带头结点的非空链表和空链表的情况:
为了比较,下面是不带头结点链表的情况: