什么是线性表
线性表(Linear List)
是n个数据元素的有限序列,其元素可以是一个数、一个符号,也可以是由多个数据项组成的复合形式,甚至可以是一页书或其他更复杂的信息。
例如,由26个大写英文字母组成的字母表
(A,B,C,…,X,Y,Z)
就是一个线性表,表中的每个数据元素均是一个大写字母。
再如,某学校从2000年开始拥有的职工数目
(48,64,77,93,112,136,167,…,235)
也是一个线性表,表中的每个数据元素均是一个正整数。这两个线性表都是包含简单数据元素的例子。
线性表中的数据元素也可由多个数据项(item)构成。如表2-1所示的图书信息表。在该表中,每一行也是一个数据元素,代表一本图书的基本信息,它由图书分类号、书名、作者、出版社等数据项组成,称为一个记录(record)。通常,把含有大量记录的线性表称为文件(file)。
综上所述,线性表中的数据元素可以是多种形式的。但是,对于同一个线性表,其中的数据元素必须具有相同特性,也就是说,同一线性表中的数据元素必须属于同一种数据类型,表中相邻的数据元素之间存在一种序偶关系。
线性表可逻辑地表示为
(a1,a2,…,ai-1,ai,ai+1,…,an)
其中a1为表中的第一个数据元素,an为最后一个数据元素,ai-1领先于ai,ai领先于ai+1,称ai-1是ai的直接前驱元素,ai+1是ai的直接后继元素。当i=1,2,…,n-1时,ai有且仅有一个直接后继,当i=2,3,…,n时,ai有且仅有一个直接前驱。
线性表中数据元素的个数n(n≥0)定义为线性表的长度,特别地,当n=0时称该线性表为空表。
什么是线性表的位序?
线性表中的元素在位置上是有序的,表中代表任一数据元素的符号ai中的下标i的取值即指示该元素在表中的位置,i=1时表示第一个数据元素,i=n时表示最后一个数据元素,因此,称数据元素ai
的下标i为该元素在线性表中的位序。
线性表元素的位置和数据元素的值有关吗?
在线性表中,数据元素之间的相对位置关系可以与数据元素的值有关,也可以无关。当数据元素的位置与它的值相关时,称为有序线性表,即表中的元素按照其值的某种顺序(递增、非递减、非递增、递减)进行排列,否则,称为无序线性表。
线性表的特点
由此可见,线性结构的特点是:在数据元素的非空有限集中,
(1)存在唯一的一个被称作“第一个”的数据元素;
(2)存在唯一的一个被称作“最后一个”的数据元素;
(3)除第一个之外,集合中的每个数据元素均只有一个前驱;
(4)除最后一个之外,集合中每个数据元素均只有一个后继。
线性表的基本操作
线性表的基本操作线性表是一种比较灵活的数据结构,可以根据不同的需要对线性表进行多种操作,常见的基本操作有:
(1)初始化——构造一个空的线性表
(2)插入——在线性表的第i个位置之前插入一个新元素
(3)删除——删除线性表中的第i个数据元素(4)查找——找出线性表中满足特定条件的元素的位置
(5)获取——取线性表中的第i个数据元素
(6)更新——取线性表中的第i个数据元素,检查或更新其中某个数据项的内容(7)判空——判断当前线性表是否为空
(8)求长度——求出线性表中数据元素的个数
(9)正序遍历——依次访问线性表中每个元素并输出(
10)销毁——销毁一个已存在的线性表将上述基本操作进行组合,可以实现对线性表的各种更复杂的操作。
总结
- 认识线性结构的特点