线性表的定义
线性表(List):零个或多个数据元素的有限序列。
强调:首先它是个序列,元素之间是顺序的,若元素存在多个,则第一个无前驱,最后一个无后继,其他每个元素都有且只有一个前驱和后继。
其次,线性表强调是有限的。
线性表元素的个数n(n>=0)定义为线性表的长度,当n=0时,称为空表。
在较复杂的线性表中,一个数据元素可以由若干个数据项组成。
线性表的抽象数据类型
线性表的抽象数据类型定义:
ADT 线性表(List)
Data
线性表的数据对象集合为{a1,a2,……an},每个元素的类型均为DataType。其中,除了第一个元素a1外,每个元素有且仅有一个直接前驱元素,除了最后一个元素an外,每个元素有且仅有一个直接后继元素。数据元素之间的关系是一对一的关系。
Operation
InitList(*L); 初始化操作,建立一个空的线性表L
ListEmpty(L); 若线性表为空,返回true,否则返回false
ClearList(*L);将线性表清空
GetElem(L,i,*e);将线性表L中的第i个位置元素值返回给e
LocateElem(L,e);在线性表L中查找与给定值e相等的元素。如果查找成功,返回该元素在表中序号表示成功,否则,返回0表示失败
ListInsert(*L,i,e); 在线性表L中的第i个位置插入新元素e
ListDelete(*L,i,e);删除线性表L中的第i个位置元素,并用e返回其值
ListLength(L);返回线性表L的元素个数
endADT