线性表的定义
线性表(linear_list)是属于同一个数据对象的数据元素的有限序列。线性表中数据元素的个数称为线性表的长度,长度为0的线性表称为空表。
上述定义中的数据元素可以是只有一个数据项的简单数据,也可以由若干个数据项组成,称这样的数据元素为记录。由于同一个线性表的数据元素属于同一个数据对象,所以它们必定具有相同的特性。从程序设计的角度来理解,这些数据元素属于同一种数据类型。
例2.1(5,7,8,2,4,9)是一个线性表,其中的数据元素是整数,其长度为6。
例2.2(a,b,c,…,z)是一个线性表,其中的数据元素是英文小写字母,其长度为26。
例2.3
数据元素是记录的线性表
对该一个线性表,其中的数据元素是相同类型的记录,每个记录由3个数据项组成,分别表示姓名、性别、年龄,表的长度为4。
线性表的逻辑结构
线性表的逻辑结构是指线性表中数据元素之间的逻辑(抽象)关系。若将线性表记为(a1, a2,…ai-1,ai,…an),其中(i=1,2,3,…,n)是属于某个数据对象的元素,由线性表的定义,若线性表至少包含2个元素,则线性表中的数据元素之间存在以下关系:
1.表中存在称作“第一个”的元素,例如上表中的a1,存在称作“最后一个”的数据元素,例如上表中的an。
2.表中第一个元素a1前面没有元素和它相邻,称它没有直接前驱,它后面有且只有一个元素a2与它相邻,称它有且只有一个直接后继。而表中“最后一个”元素an有且只有一个直接前驱an-1,没有直接后继。
3.除“第一个”元素和“最后一个”元素外,其他每个元素均有且只有一个直接前驱和一个直接后继。
线性表的基本操作
线性表的基本操作如下:
1.存取。存取表中第i个数据元素
2.插入。在表中第i个数据元素前插入一个新的数据元素,也就是使新插入的数据元素成为新表中的第i个数据元素(1≤i≤n+1)。
3.删除。删除表中第i个元素(1≤i≤n)。
4.查找。在线性表中查找满足某种条件的数据元素。
5.求表长。求线性表中的元素个数。
对线性表的其他操作还有将两个线性表按照某种要求合并;在可能的条件下将表中数据元素按一定规则排序等。