线性表(linear_list)
线性表是最常用且最简单的一种数据结构,一个线性表是n个数据元素的有限序列。至于数据元素的具体含义,在不同的情况下各不相同,它可以是一个数或一个符号,也可以是一页书,或者其他更复杂的信息。
在一些稍复杂的线性表中,一个数据元素可以由若干个数据项组成,在这种情况下,常把数据元素称为记录,而含有大量记录的线性表又称为文件。
线性表中的个数n定义为线性表的长度,n=0时称为空表。在非空表中每个数据元素都有一个确定的位置,如用ai表示数据元素,则i称为数据元素ai在线性表中的位序。
线性表的相邻元素之间存在着序偶关系。如用(a1,…,ai-1,ai,ai+1,…,an)表示一个顺序表,则表中ai-1领先于ai,ai领先于ai+1,称ai-1是ai的直接前驱元素,ai+1是ai的直接后继元素。当i=1,2,…,n-1时,ai有且仅有一个直接后继,当i=2,3,…,n时,ai有且仅有一个直接前驱
。
在这种结构中:
1
存在一个唯一的被称为“第一个”的数据元素;
2
存在一个唯一的被称为“最后一个”的数据元素;
3
除第一个元素外,每个元素均有唯一一个直接前驱;
4
除最后一个元素外,每个元素均有唯一一个直接后继。
线性表的存储分类:
顺序存储
:把线性表的结点
按逻辑顺序
依次存放在一组地址连续的存储单元
里。用这种方法存储的线性表简称
顺序表
。
链式存储
:用
一组任意的存储单元存储
线性表中的数据元素。用这种方法存储的线性表简称
线性链表
。