(一)线性表(linear list)
定义
摘抄自 维基百科
线性表(英语:Linear List
)是由 n(n≥0)
个 数据元素(结点)a[0],a[1],a[2]…,a[n-1]
组成的 有限序列。
其中:
- 数据元素的个数
n
定义为表的长度 ="list".length() ("list".length() = 0
(表里没有一个元素)时称为空表) - 将非空的线性表(
n>=1
)记作:(a[0],a[1],a[2],…,a[n-1])
- 数据元素
a[i](0≤i≤n-1)
只是个抽象符号,其具体含义在不同情况下可以不同
一个 数据元素 可以由若干个 数据项 组成。数据元素 称为 记录,含有大量记录的线性表又称为 文件 。这种结构具有下列特点:存在一个唯一的没有前驱的(头)数据元素;存在一个唯一的没有后继的(尾)数据元素;此外,每一个数据元素均有一个直接前驱和一个直接后继数据元素。
特点
- 存储的数据 有序
- 存储的数据 有限
- 存储的数据 类型相同
- 可以为 空表,即什么都不存
- 数据之间 线性关系,只有一个前驱一个后记
ADT (abstract data type)
抽象数据类型,在线性表的结构之上,赋予一些操作。基本的 API,复杂的操作,可以用下面的操作进行组合。
initList()
初始化线性表,建立一个空的线性表listEmpty()
判断线性表是否为空,为空返回true
,否则返回false
clearList()
将线性表清空,置为空表getElem(index)
返回线性表中的第index+1
元素setElem(index,elem)
设置线性表中角标为index
的元素为elem
getElemIndex(elem)
返回线性表中元素elem
的下标index
,返回-1
代表线性表中没有该元素。insertElem(index,elem)
在线性表的index
下标处,插入元素elem
delete(index)
删除并返回线性表中下标为index
的元素length()
返回线性表的长度size()
返回线性表中元素的个数