当链表的每个结点只包含一个指针域时,我们称之为单链表。
- 头结点:在单链表的第一个结点(有效元素)之前附设的一个结点,称之为头结点。
- 头指针:指向头结点的指针称为头指针。
- 首节点(首元结点):首节点就是第一个元素(头元素)的结点。
单链表也可以没有头结点。如果没有头结点的话,那么单链表就会变成这样:
小结:
头指针:
- 在线性表的链式存储结构中,头指针时指向第一个结点的指针,若链表有头结点,则头指针就是指向链表头结点指针。
- 头指针有标识作用,常用头指针作为链表的名字。
- 无论链表是否为空,头指针都不为空。头指针时链表的必要元素。
头结点:
- 头结点不是链表必须的,可有可无。
- 首节点就是第一个元素的结点,它是头结点后面的第一个结点。
- 头结点是为了操作统一与方便而设立的,放在第一个元素结点之前,其数据域一般无意义(当然有些情况下也可存放链表的长度、用作监视哨等等)。
- 有了头结点之后,对在第一个元素结点前插入节点和删除第一个结点,其操作与对其它结点的操作统一了。