线性表的定义:由n(n>=0)个数据特性相同的元素构成的有限序列称为线性表。线性表中的元素的个数n(n>=0)定义为线性表的长度,n=0称为空表。
对于非空的线性表或线性结构,其特点是:
(1)存在唯一的一个被称作“第一个”的数据元素;
(2)存在唯一的一个被称作“最后一个”的数据元素;
(3)除第一个之外,结构中的每个元素均只有一个前驱;
(4)出最后一个外,结构中的每个元素均只有一个后继;
线性表的类型定义:线性表是一个相当灵活的数据结构,其长度可根据需要增长或缩短,即对线性表的数据元素不仅可以进行访问,而且还可以进行插入和删除等操作。
线性表的顺序表示和实现:
线性表的顺序表示指的是用一组地址连续的存储单元依次存储线性表的数据元素,这种表示也称作线性表的顺序结构或结构映像。通常,称这种存储结构的线性表为顺序表。其特点是,逻辑上相邻的数据元素,其物理次序也是相邻的。
顺序表中基本操作的实现:
1、初始化(为顺序表L动态分配一个与定义大小的数组空间,使elem指向这段空间的地址,将表的当前长度设为0)
2、取值(取值使根据指定的的位置序号i,获取顺序表中第i个数据元素的值)
3、查找(查找是指定元素的值e,查找顺序表中第一个与e相等的元素,则查找成功,返回该元素的序号i+1)
4、插入
线性表的链式表示和实现:
线性表链式存储的结构特点是:用一组任意的存储单元存储性的数据元素.因此,为了表示每个元素a1与其直接后继数据元素ai+1之间的逻辑关系,对数据元素ai来说,除了存储器本身的信息外,还要存储一个指示其直接后继的信息。这两部分信息组成数据元素a1的存储映像,称为结点。