抽象类型的线性表定义如下:
基本操作类型
1. 初始化一个线性表
操作结果: 构造一个空的线性表
2. 销毁一个线性表
初始条件: 线性表L已存在
操作结果: 销毁线性表L(从内存中删除线性表L)
3. 清除一个线性表
初始条件: 线性表L已存在
操作结果: 将线性表L重置为空表(线性表依然存在,即表在内存中依然存在,只是为空表)
4. 判断一个线性表是否为空
初始条件: 线性表L已存在
操作结果: 若线性表为空,返回TRUE;否则返回FALSE。
5. 求线性的长度
初始条件: 线性表L已存在
操作结果: 返回线性表L中的数据元素的个数。
6. 在线性表L中获取一个元素
初始条件: 线性表L已存在,
1
≤
i
≤
L
i
s
t
L
e
n
g
t
h
(
L
)
1 \le i\le ListLength(L )
1≤i≤ListLength(L)
操作结果: 返回线性表L中的第
i
i
i个数据元素的值。
7. 在线性表L中查找一个元素
初始条件: 线性表L已存在,数据元素的判定函数
操作结果: 返回线性表L中的第1个满足判定条件的元素的位序,若不存在,则返回0。
8. 求一个元素的前趋
初始条件: 线性表L已存在
操作结果: 返回当前元素的前趋。
9. 求一个元素的后继
初始条件: 线性表L已存在
操作结果: 返回当前元素的后继。
10. 插入一个元素
初始条件: 线性表L已存在,
1
≤
i
≤
L
i
s
t
L
e
n
g
t
h
(
L
)
+
1
1 \le i\le ListLength(L )+1
1≤i≤ListLength(L)+1
操作结果: 在线性表L的第
i
i
i个位置之前插入新的数据元素,L的长度加一。
11. 删除一个元素
初始条件: 线性表L已存在,
1
≤
i
≤
L
i
s
t
L
e
n
g
t
h
(
L
)
1 \le i\le ListLength(L )
1≤i≤ListLength(L)
操作结果: 删除线性表L的第
i
i
i个数据元素,并返回其值,L的长度减一。
12. 遍历线性表中的元素
初始条件: 线性表L已存在
操作结果:依次对线性表中的每个元素都访问一下。
以上只是在逻辑结层面上定义的运算,具体怎么实现,只有确定具体的存储结构后才考虑。