线性表——零个或多个数据元素的有限序列(如幼儿园小朋友排队)
一个元素只有一个后继元素,元素个数有限,数据类型相同。
对线性表的操作有:初始化操作,清空,获取元素值,插入新元素,删除元素,获取元素个数。
线性表有两种物理结构:顺序存储结构、链式存储结构。
顺序存储结构:用一段地址连续的存储单元依次存储线性表的数据元素。(如图书馆占座)
链式存储结构:用一组任意的存储单元存储线性表的数据元素,这组存储单元可以是连续的,也可以是不连续的。(如银行叫号)
顺序存储结构 | 链式存储结构 | |
优点 | 无需为表示表中元素间的逻辑关系而增加额外的存储空间;可以快速存取表中任一位置的元素。 | 插入和删除元素方便;无需分配存储空间。 |
缺点 | 插入和删除需要移动大量元素;难以确定存储空间的容量;造成存储空间的碎片。 | 查找元素困难。 |
适用于 | 元素个数不太变化,更多的是存储数据的应用(用户注册个人信息); 事先知道线性表的大致长度时。 | 频繁插入和删除(游戏武器或装备列表); 元素个数变化较大或不知道多大时。 |
链式存储结构又分为:单链表、静态链表、循环链表、双向链表。