《征服数据结构》双端栈

摘要:

1,双端栈的介绍

2,双端栈的代码实现

1,双端栈的介绍

双端栈主要利用了"栈底位置不变,栈顶位置动态变化" 的特点,可以让两个栈共享一块存储空间。在前面我们讲到用数组实现栈的时候,如果把数组的两端都当做栈底,就可以构造出两个栈。

双端栈是指将一个线性表的两端当做栈底分别进行入栈和出栈操作,如下图所示:

1,当 lTop==-1 时 表示左端栈为空,左端栈的有效元素个数为 lTop + 1 。

2,当 rTop==data.length 时,表示右端栈为空,右端栈的有效元素个数为 data.length - rTop 。

3,当 lTop+1==rTop 时,表示双端栈满 。

双端栈的常见函数相比普通栈的函数要多,因为双端栈要操作左右两个栈。

相关推荐
Shan120525 分钟前
经典问题——验证栈序列
数据结构·算法
漂流瓶jz2 小时前
UVA-1606 两亲性分子 题解答案代码 算法竞赛入门经典第二版
数据结构·算法·向量·aoapc·算法竞赛入门经典·atan2·浮点
Chen_harmony3 小时前
二、顺序表
数据结构
BAGAE3 小时前
星链卫星数据获取:从太空安全到实时通信的技术革命
网络·数据结构·数据库·算法·云计算·hbase
h_a_o777oah3 小时前
【算法专项】扩展域并查集:原理详解及解决大部分种类并查集问题(洛谷P5937 P2024 C++代码)
数据结构·c++·算法·acm·并查集·扩展域·逻辑建模
吴阿福|一人公司4 小时前
深度解析 Python 类变量修改的命名空间隔离
java·服务器·数据结构
不知名的老吴5 小时前
经典算法题之行星碰撞
数据结构·算法
丘山望岳5 小时前
剑起霜华——平衡二叉树(AVL树 )精讲
开发语言·数据结构·c++
LuminousCPP5 小时前
数据结构 - 单链表第一篇:单链表基础操作
c语言·数据结构·经验分享·笔记·学习
WL学习笔记6 小时前
通讯录(顺序表实现)
c语言·数据结构·算法