线性表的存储方式有:链式存储和顺序存储;
1.先来谈谈链式存储:优点:插入元素和删除元素比较方便;缺点:只能顺序存取,不能随机存取;
2.特点:用一组任意的存储单元(内存空间)来存储线性表中的元素,这组存储单元可以是连续的,也可以不是连续的。
3.链表是一种动态地进行存储单元分配的数据结构;为了表示节点(数据元素)之间的逻辑关系,每个节点的存储空间分为两个部分:一部分存储节点的值,称为“数据域”,另外一部分用来存储指向其直接后继的指针,称为“指针域”;如图1.1所示。
图1.1 单链表的节点形式
在单链表中,每个节点的存储位置都包含在其直接前驱(关于直接前驱,直接后继,后继,前驱的问题稍后描述)节点的指针域中,因此,任意一个节点的位置存取都必须从头指针开始(头指针:指向链表的第一个节点,如果没有头指针head,则整个链表都无法访问)。由于单链表是由头指针唯一确定,因此单链表可以用头指针的名字来命名。如下是一个简单的单链表;
4.有时为了操作的方便,会在单链表的第一个节点的前面附加一个节点,称为“头结