从本节到接下来的几节讨论的线性表、栈、队列、串和数组都属于线性结构。线性结构的基本特点是除第一个元素无直接前驱,最后一个元素无直接后继之外,其他每个数据元素都有一个前驱和后继。
1.1 线性表的定义和特点
同一线性表中的元素必定具有相同的特性,即属于同一数据对象,相邻数据元素之间存在着序偶关系。
诸如此类由n(n>=0)个数据特性相同的元素构成的有限序列称为线性表。
- 线性表中元素的个数n(n>=0)定义为线性表的长度,n=0时称为空表。
对于非空的线性表或线性结构,其特点是:
- 存在唯一的一个被称作“第一个”的数据元素。
- 存在唯一的一个被称作“最后一个”的数据元素。
- 除第一个之外,结构中的每个数据元素均只有一个前驱。
- 除最后一个之外,结构中的每个数据元素均只有一个后继。
1.2 线性表的类型定义
下面给出线性表的抽象数据类型定义:
- 抽象数据类型仅是一个模型的定义,并不涉及模型的具体实现,因此这里描述中所