表ADT(Abstract Data Type)
形如
A0,A2,A3,…,AN−1
的一般的表,表的大小为
N
,大小为0的表为空表。
除空表外的任何表,
与之相关的是定义要在表ADT上进行操作的集合。
表的简单数组实现
内部存储数组的vector类使得用数组实现表成为可能,因为这样就允许在需要的时候将数组的大小增加一倍。
用数组数组实现表的合适情况是,表通过在末尾插入元素来建立,之后只有数组访问发生。如果插入和删除在整个表中都发生,数组就不是个好选择。
简单链表
链表由一系列不必在内存中相连的结点组成。每一个结点均含有表元素和到包含后继元素的结点的next链。最后一个结点的next链指向NULL。
为了方便删除最后一个结点,在链表中的每一个结点都添加一个指向上一项的链表,变成双向链表。
参考Mark Allen Weiss《数据结构与算法分析c++描述》第三版