目录
1. 基本概念;
线性表是0个或者多个数据元素的有限序列;
特性:
数据元素之间是有序的;数据元素个数是有限的;数据元素的类型必须相同;
2. 数学定义;
线性表是具有相同类型的n(>=0)个数据元素的有限序列(a0,a1,a2,...,an),ai是表项,n是表长度;
3. 性质;
a0为线性表的第一个元素,只有一个后继;
an为线性表的最后一个元素,只有一个前驱;
除去a0和an外的其他元素ai。既有前驱,又有后继;
线性表能够逐项访问和顺序存取;
4. 线性表的基本操作;
创建、销毁、清空、插入、删除、获取元素位置、获取线性表长度等;
线性表的抽象数据类型定义:
ADT线性表(List)
Data
线性表的数据对象集合为{ a1, a2, ……, an },每个元素的类型均为 DataType。其中,除第 一个元素 a1外,每个元素有且只有一个直接前驱元素,除了最后一个元素an 外,每个元素有且只有一个直接后继元素。数据元素之间的关系是一一对应的。
Operation(操作)
// 初始化,建立一个空的线性表L。
InitList(*L);
// 若线性表为空,返回 true,否则返回 false
ListEmpty(L);
// 将线性表清空
ClearList(*L);
// 将线性表 L 中的第 i个位置的元素返回给 e
GetElem(L, i, *e);
// 在线性表 L 中的第 i个位置插入新元素 e
ListInsert(*L, i, e);
// 删除线性表L 中的第 i个位置元素,并用 e 返回其值
ListDelete(*L, i, *e);
// 返回线性表L 的元素个数
ListLength(L);
// 销毁线性表
DestroyList(*L);