链表是一种线性存储结构,采用的是链式存储。存储中使用一组任意的存储单元存储线性表的数据,存储单元可以连续,也可以不连续。
结点链表中一个数据元素需要存储本身的信息,还需要存储直接后继的存储位置,这两部分构成结点(node)。
换种方式来说,一个结点需要包含两部分内容,数据域和指针域。
数据域:存储数据元素信息
指针域:存储直接后继的存储位置
如下所示为一个结点,data表示数据域,next表示指针域。
头指针整个链表的存取必须从头指针开始,头指针存储了链表中的第一个结点的地址。
如图示为单链表,表中的L即为头指针,指向这个链表中的第一个结点。
头结点在单链表的第一个结点之前附设一个结点,称为头结点。如图示
头结点的数据域可以不存储任何信息。头结点的指针域存储首元结点的地址。
首元结点首元结点是指链表中存储第一个数据元素的结点。如下图所示