《征服数据结构》双端栈

摘要:

1,双端栈的介绍

2,双端栈的代码实现

1,双端栈的介绍

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

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

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

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

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

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

相关推荐
xvhao20132 小时前
单源、多源最短路
数据结构·c++·算法·深度优先·动态规划·图论·图搜索算法
m0_629494734 小时前
LeetCode 热题 100-----17.缺失的第一个正数
数据结构·算法·leetcode
hnjzsyjyj5 小时前
洛谷 P1443:马的遍历 ← BFS
数据结构·bfs
做时间的朋友。5 小时前
精准核酸检测
java·数据结构·算法
如君愿6 小时前
考研复习 Day28 | 习题--计算机网络第四章(网络层 中)、数据结构(树与二叉树 下)
数据结构·计算机网络·考研·课后习题·记录考研
江南十四行6 小时前
排序算法进阶:直接插入排序(简单排序)与希尔排序
数据结构·算法·排序算法
洛水水6 小时前
【Redis入门】一篇详解Redis五大数据结构
数据结构·数据库·redis
CoderCodingNo6 小时前
【CSP】CSP-J 2021真题 | 插入排序 luogu-P7910 (适合GESP四-六级及以上考生练习)
数据结构·算法·排序算法
努力努力再努力wz7 小时前
【MySQL进阶系列】一文打通事务机制:从锁、Undo Log 到 MVCC 与隔离级别
c语言·数据结构·数据库·c++·mysql·算法·github
薇茗7 小时前
【初阶数据结构】 左右逢源的分支诗律 二叉树1
c语言·数据结构·算法