线性表相关概念
1.1 定义:线性表( List ):由零个或多个数据元素组成的有限序列。
1.2 注意:
1)线性表是一个序列,也就是说元素之间是有个先来后到的,像刚才的小蝌蚪就没有顺序。
2)若元素存在多个,则第一个元素无前驱,而最后一个元素无后继,其他元素都有且只有一个前驱和后继。
3)线性表强调是有限的。
1.3 如果用数学语言来进行定义,可:若将线性表记为( a1,...,ai-1,ai,ai+1,...an ) , 则表中 ai-1 领先于 ai,ai 领先于 ai+1, 称 ai-1 是 ai的直接前驱元素 ,ai+1 是 ai 的直接后继元素。抽象数据类型
抽象数据类型的标准格式:
ADT 抽象数据类型名
Data
数据元素之间逻辑关系的定义
Operation
操作
endADT
- 线性表的抽象数据类型
3.1 我们给大家总结下线性表的抽象数据类型定义:
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