链表的定义:线性表的链式存储结构生产的表,叫做链表
链式存储结构定义:用一组任意的存储单元存储线性表的数据元素,通过指针连接串联起来
链式存储中存储单元可以是连续的也可以是不连续的,意味着在内存中任意的有空间的地方都可以进行存储。
链表的存储单元叫做节点。节点分为两部分:数据域和指针域。数据域用来存储数据,指针域用来存储下一个节点位置。
单链表
单链表是最简单的链表形式,单链表的第一个节点的存储位置叫做头指针,最后一个节点的后继指针为空。
为了操作方便,有时会在单链表的第一个节点前面增加一个不存储数据的节点,称之为头节点。它的指针域指向第一个节点。
如果链表存在头节点的话,那么头指针就是指向头节点的指针。不存在头节点的情况下,就是指向链表第一个节点的指针。
头结点就是放在第一个元素节点之前,它的数据域一般没有意义。它的存在是为了方便进行插入和删除操作。
头指针是链表的必备元素,无论链表是否为空,头指针都不能为空;说到底,头指针也就是一个指针。