线性表
是具有相同特性的n个数据元素组成的一个有限序列
其中数据元素的个数n定义为表的长度,当n为零是,则为空表。
逻辑特征
在非空的线性表,有且仅有一个开始节点,它没有直接前趋,而仅有一个直接后继。
有且仅有一个终端节点,它没有直接后继,而仅有一个直接前趋。
其余的内部节点都有且仅有一个直接前趋和一个直接后继。
.线性表顺序存储
线性表顺序存储结构占用一片连续的存储空间。
优点:存储密度大,可以随机存取表中任意元素
缺点:在插入,删除某一元素的时候,需要移动大量元素,浪费存储空间,属于静态存储形式,数据元素的个数不能自由扩充。
基本操作
InitList(&L) 操作结果:构造一个空的线性表L
DestroyList(&L)
初始条件:线性表L已经存在
操作结果:销毁线性表L
ClearList(&L)
初始条件:线性表L已经存在
操作结果:将线性表L重置为空表
ListEmpty(L)
初始条件:线性表L已经存在
操作结果:若线性表L为空表,则返回TURE否则返回FALSE
ListLength(L)
初始条件:线性表已经存在
操作结果:返回线性表L中的数据元素的个数;
GetElem(L,I,&e)
初始条件:线性表L已经存在,1<=i<=ListLength(L)
操作结果;用e接受线性表L中第i个数据元素的值
LocateElem(L,e)
初始条件:线性表已经存在
操作结果:返回L中第1个与e满足compare()的数据元素的位序。若这样的数据元素不存在则返回值为0
插入元素
删除元素