2.1 线性表的定义和操作
2.1.1 线性表的定义
线性表是具有相同数据类型的n(n >= 0)个数据元素的有限序列,其中n为表长,当n=0时线性表是一个空表。
(1)逻辑特性:除第一个元素外,每个元素有且仅有一个直接前驱;除最后一个元素外,每个元素有且仅有一个直接后继。
(2)特点:
- 表中元素的个数有限;
- 表中元素具有逻辑上的顺序,表中元素具有先后次序;
- 表中元素都是数据元素,每个元素都是单个元素;
- 表中元素的数据类型都相同,这意味着每个元素占有相同大小的存储空间。
注:线性表是一种逻辑结构,表示元素之间一对一的相邻关系。顺序表和链表是指存储结构,两者属于不同层面的概念,因此不要将其混淆。
2.1.2 线性表的基本操作
InitList(&L) //初始化表。构造一个空的线性表
Length(L) //求表长。返回线性表L的长度,即元素个数
LocateElem(L,e) //按值查找操作。在L中查找具有给定关键字的元素
GetElem(L,i) //按位查找。获取L中第i个位置的元素
ListInsert(&L,i,e) //插入操作。在表中的第i个位置上插入指定元素e
PrintList(L) //输出操作。按前后顺序输出线性表的所有元素
Empty(L) //判空操作。若L为空,返回true
DestroyList(&L) //销毁操作。释放L所占内存