表ADT

表ADT(Abstract Data Type)

形如A0,A2,A3,,AN1的一般的表,表的大小为N,大小为0的表为空表。
除空表外的任何表,AiAi1之后,Ai1前驱Ai。表中的第一个元素A0,最后一个元素AN1。元素Ai在表中的位置为i
与之相关的是定义要在表ADT上进行操作的集合。

表的简单数组实现

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

简单链表

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

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值