线性结构的特点:
在数据元素的非空有限集中,(1)存在惟一的一个被称做“第一个”的数据元素;(2)存在惟一的一个被称做“最后一个”的数据元素;(3)除第一个之外,集合中的每个数据元素均只有一个前驱;(4)除最后一个之外,集合中每个数据元素均只有一个后继。
1.线性表(linear list) 是常用且最简单的一种数据结构。简言之,一个线性表是n个数据元素的有限序列。至于每个数据元素的具体含义,在不同的情况下各不相同,它可以是一个数或一个符号,也可以是一页书,甚至其他更复杂的信息。
例如1:26个英文字母是字母表:(A,B,C,...,Z) 是一个线性表,表中的数据元素是单个字母字符。
例如2:某校从1978年到1983年各种型号的计算机拥有量的变化情况,可以用线性表的形式给出:(6,17,28,50,92,188),表中的数据元素是整数。
在稍复杂的线性表中,一个数据元素可以由若干个数据项(item)组成。常把数据元素称为记录(record),含有大量记录的线性表又称文件(file)。
例如:一个学校的学生健康情况登记表所下图所示,表中每个学生的情况为一个记录,它由姓名,学号,性别,年龄,班级和健康状况等6个数据项组成。
姓名 |
学号 |
性别 |
年龄 |
班级 |
健康状况 |
王小林 |
790631 |
男 |
18 |
计91 |
健康 |
陈红 |
790632 |
女 |
20 |
计91 |
一般 |
刘建平 |
790633 |
男 |
21 |
计91 |
健康 |
张立立 |
790634 |
男 |
17 |
计91 |
神经衰弱 |
. . . |
. . . |
. . . |
. . . |
. . . |
. . . |
同一线性表中的元素必定具有相同特性,即属同一数据对象,相邻数据元素之间存在着序偶关系。若将线性表记为:
(a1,...,ai-1,ai,ai+1,…,an)
表中ai-1领先于ai,ai领先于ai+1,称ai-1是ai的直接前驱元素,ai+1是ai的直接后继元素。当i=1,2,3,…n-1时,ai有且仅有一个直接后继,当i=2,3,…,n时,ai有且仅有一个直接前驱。
法1:将所有在线性表Lb中但不在La中的数据元素插入到La中
假设利用两个线性表LA和LB分别表示两个集合A和B(即线性表中的数据元素即为集合中的成员),现要求一个新的集合A=A∪B。这就要求对线性表作如下操作:
- 扩大线性表LA,将存在于线性表LB中而不存在于线性表LA中的数据元素插入到线性表LA中去。
- 只要从线性表LB中依次取得每个数据元素,并依值在线性表LA中进行查询,若不存在,则播入之。
请编写算法实现