、线性表的逻辑结构
线性结构是最常用、最简单的一种数据结构。而线性表是一种典型的线性结构。其基
本特点是线性表中的数据元素是有序且是有限的。在这种结构中:
存在一个唯一的被称为“第一个”的数据元素;
存在一个唯一的被称为“最后一个”的数据元素;
除第一个元素外,每个元素均有唯一一个直接前驱;
除最后一个元素外,每个元素均有唯一一个直接后继。
例如:线性序列a,a,…an线性表:是由nn≧o个数据元素结点a,a,…an组成的有限序列。该序列中的
所有结点具有相同的数据类型。其中数据元素的个数n称为线性表的长度。
当n=o时,称为空表。
当n>o时,将非空的线性表记作:a,a,…an
a称为线性表的第一个结点,an称为线性表的最后一个尾结点。
a,a,…ai-都是ai≦i≦n的前驱,其中ai-是ai的直接前驱;
ai+,ai+,…an都是ai≦i≦n-的后继,其中ai+。
、顺序表
顺序存储:把线性表的结点按逻辑顺序依次存放在一组地址连续的存储单元里。用这
种方法存储的线性表简称顺序表。
有非空的线性表:a,a,…an。顺序存储如图所示。
顺序存储的线性表的特点:
◆线性表的逻辑顺序与物理顺序一致;
◆数据元素之间的关系是以元素在计算机内
“物理位置相邻”来体现。设有非空的线性表:a,
a,…an。顺序存储如图所示。
设线性表的每个元素需占用个存储单元,以所
占的第一个单元的存储地址作为数据元素的存储位
置。则线性表中第i+个数据元素的存储位置locai+
和第i个数据元素的存储位置locai之间满足下列关
系:locai+=locai+
线性表的第i个数据元素ai的存储位置为:数组具有随机存取的特性
locai=locao+i
在高级语言如c语言环境下:数组具有随机存取的特性,因此,借助数组来描述顺序
表。除了用数组来存储线性表的元素之外,顺序表还应该有表示线性表的长度属性,所以用
结构类型来定义顺序表类型。
defeaizeoo数组最大长度
typedefstruct{定义线性表结构体