《征服数据结构》双端栈

摘要:

1,双端栈的介绍

2,双端栈的代码实现

1,双端栈的介绍

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

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

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

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

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

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

相关推荐
王璐WL1 天前
【C语言入门级教学】函数的概念2
c语言·数据结构·算法
不知名的老吴1 天前
双栈秒杀表达式的生成方式
数据结构
故事和你911 天前
洛谷-【动态规划1】动态规划的引入2
开发语言·数据结构·c++·算法·动态规划·图论
信奥胡老师1 天前
B3968 [GESP202403 五级] 成绩排序
数据结构·算法
z200509302 天前
今日算法(回溯算法)
数据结构·算法
m0_629494732 天前
LeetCode 热题 100-----28. 两数相加
数据结构·算法·leetcode·链表
一路往蓝-Anbo2 天前
第五章:如何对 HAL 库本身进行单元测试?
网络·数据结构·stm32·单片机·嵌入式硬件·单元测试·tdd
青山师2 天前
B+树与InnoDB索引深度解析:数据库索引的底层原理与工程实践
数据结构·数据库·b树·性能优化·b+树·索引优化·mysql性能
tongluowan0072 天前
数据结构 Bitmap(位图)完整详解
开发语言·数据结构·bitmap
代码中介商2 天前
排序算法完全指南(五):快速排序深度详解
数据结构·算法·排序算法