《征服数据结构》双端栈

摘要:

1,双端栈的介绍

2,双端栈的代码实现

1,双端栈的介绍

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

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

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

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

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

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

相关推荐
hoiii18738 分钟前
基于栅格法的机器人工作空间划分系统
数据结构·机器人
测绘第一深情5 小时前
在vscode中使用codex教程(个人安装经验)
数据结构·ide·vscode·python·算法·计算机视觉·编辑器
Liangwei Lin6 小时前
LeetCode 41. 缺失的第一个正数
数据结构·算法·leetcode
平行侠6 小时前
022Miller-Rabin 概率素性检验 - 概率与数论的完美联姻
数据结构·算法
wuweijianlove7 小时前
算法与数据结构协同优化的设计思想的技术7
数据结构·算法
故事和你917 小时前
洛谷-数据结构2-1-二叉堆与树状数组1
开发语言·数据结构·c++·算法·动态规划·图论
多加点辣也没关系7 小时前
数据结构与算法|第十七章:贪心算法
数据结构·算法·贪心算法
多加点辣也没关系7 小时前
数据结构与算法|第十四章:排序算法(上)— 比较类排序
数据结构·算法·排序算法
北顾笙9808 小时前
day42-数据结构力扣
数据结构
风筝在晴天搁浅8 小时前
阿里淘天/京东 CodeTop LeetCode103.二叉树的锯齿形层序遍历
数据结构