为了表示每个数据元素ai和与其直接后继数据元素ai+1之间的逻辑关系,对数据元素ai来说,除了存储本身的数据信息来说,还需要存储一个指示其直接后继的信息(即直接后继的存储位置)。我们把存储数据元素信息的域称为数据域,把存储直接后继位置的域称为指针域。这两部分信息组成元素ai的存储映像,称为节点(Node)。
n个结点(ai的存储映像)连接成一个链表,即为线性表(a1,a2,.......an)的链式存储结构。因为此链表中的每个结点只包含一个指针域,所以叫做单链表。单链表正是通过每个结点的指针域将线性表的数据元素按其逻辑次序连接在一起。
我们把链表中第一个结点的存储位置叫做头指针。在单链表的第一个结点之前附设一个结点,称为头结点。头结点的指针域指向第一个结点的指针(头指针)。
头结点和头指针的区别: