表ADT

表ADT(Abstract Data Type)

形如 A0,A2,A3,,AN1 的一般的表,表的大小为 N ,大小为0的表为空表。
除空表外的任何表,Ai Ai1 之后, Ai1 前驱 Ai 。表中的第一个元素 A0 ,最后一个元素 AN1 。元素 Ai 在表中的位置为 i <script type="math/tex" id="MathJax-Element-10">i</script>。
与之相关的是定义要在表ADT上进行操作的集合。

表的简单数组实现

内部存储数组的vector类使得用数组实现表成为可能,因为这样就允许在需要的时候将数组的大小增加一倍。
用数组数组实现表的合适情况是,表通过在末尾插入元素来建立,之后只有数组访问发生。如果插入和删除在整个表中都发生,数组就不是个好选择。

简单链表

链表由一系列不必在内存中相连的结点组成。每一个结点均含有表元素和到包含后继元素的结点的next链。最后一个结点的next链指向NULL。
这里写图片描述
这里写图片描述
这里写图片描述
为了方便删除最后一个结点,在链表中的每一个结点都添加一个指向上一项的链表,变成双向链表。
这里写图片描述
参考Mark Allen Weiss《数据结构与算法分析c++描述》第三版

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值