月夜的风吹雨8 天前
开发语言·c++·stl·优先级队列··队列·适配器
【C++ STL容器适配器】:解密Stack、Queue与Priority Queue的设计智慧一篇彻底讲清容器适配器原理、设计权衡与底层实现的深度教程 ✨💬 前言 本文将带你深入STL容器适配器的核心设计,不仅理解"如何使用",更要洞悉"为何如此设计"。我们将揭开这些看似简单却蕴含深意的组件背后的奥秘。 ✨ 阅读后,你将彻底掌握:
不穿格子的程序员18 天前
数据结构·
从零开始写算法-栈-最小值(记忆化pair)题目描述 设计一个支持以下操作的栈:push(x) —— 将元素 x 推入栈中pop() —— 删除栈顶的元素
不穿格子的程序员21 天前
java·开发语言·
从零开始刷算法-栈-括号匹配我们需要判断一个字符串中的括号是否成对且顺序匹配,比如:从直觉上,这就是“遇到左括号就入栈,遇到右括号就出栈匹配”的过程。栈这种后进先出(LIFO)的结构,天然适合这种成对匹配的问题。
少许极端22 天前
java·数据结构·算法·
算法奇妙屋(九)-栈⚙️个人专栏:《Java算法时空: 图解手撕原理》 《多线程》 《JavaSE基础原理》 《数据结构》
mifengxing24 天前
c语言·数据结构·算法·leetcode·动态规划·
力扣每日一题——接雨水题目描述给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。
hope_wisdom1 个月前
c语言·数据结构·c++·链表·
C/C++数据结构之用链表实现栈在前一篇文章中,我们已经用数组实现了栈。在本篇文章中,我们将使用链表来实现栈。使用链表的优点是:动态增长,扩容时更加平滑。缺点是:略微复杂,需要额外管理所有节点。栈相关的操作,仍然是下面5个接口。
Dream it possible!1 个月前
c++·leetcode·面试·
LeetCode 面试经典 150_栈_简化路径(53_71_C++_中等)(栈+stringstream)给你一个字符串 path ,表示指向某一文件或目录的 Unix 风格 绝对路径 (以 ‘/’ 开头),请你将其转化为 更加简洁的规范路径。
Dream it possible!1 个月前
c++·leetcode·面试··哈希表
LeetCode 面试经典 150_栈_有效的括号(52_20_C++_简单)(栈+哈希表)给定一个只包括 ‘(’,‘)’,‘{’,‘}’,‘[’,‘]’ 的字符串 s ,判断字符串是否有效。有效字符串需满足: 1、左括号必须用相同类型的右括号闭合。 2、左括号必须以正确的顺序闭合。 3、每个右括号都有一个对应的相同类型的左括号。
Chloeis Syntax1 个月前
java·数据结构·笔记·
栈和队列笔记2025-10-12自己实现一遍栈的一些基本方法,印象比较深刻我使用了ArrayList去实现这个栈,但你们也可以自己定义一个数组去实现(效果更好);
Syntech_Wuz1 个月前
数据结构·c++·容器··队列
从 C 到 C++:容器适配器 std::stack 与 std::queue 详解对于刚从 C 语言转向 C++ 的朋友来说,标准库中的容器适配器是提升开发效率的利器。std::stack(栈)和std::queue(队列)作为两种常用的容器适配器,封装了底层容器的复杂细节,提供了简洁直观的操作接口,彻底告别了 C 语言中手动实现栈和队列的繁琐。本文将详细介绍这两种适配器的特性、底层实现及完整操作指南。
要一起看日出1 个月前
java·数据结构··队列
数据结构-----栈&队列目录栈什么是栈?时间复杂度栈的常见操作入栈出栈栈的常见应用场景浏览器的回退和前进虚拟机栈出栈顺序栈例题
2401_841495642 个月前
java·数据结构·c++·python·算法·递归·
【数据结构】汉诺塔问题汉诺塔问题的核心解法是递归分治思想,通过将复杂问题拆解为规模更小的子问题,逐步解决。以下是该代码的具体思路解析:
hope_wisdom2 个月前
c语言·数据结构·c++·数组·
C/C++数据结构之用数组实现栈要在C/C++中用数组自行实现栈,我们首先需要理解栈提供的基本操作。这些操作主要包括以下5个接口。Push:向栈中添加一个元素。
自信的小螺丝钉2 个月前
leetcode·
Leetcode 155. 最小栈 辅助栈原题链接:Leetcode 155. 最小栈官方解法:辅助栈一个栈同时保存当前值和栈内最小值
KarrySmile2 个月前
二分查找·数组··hot100·二分法·二分搜索·旋转排序数组
HOT100--Day23--153. 寻找旋转排序数组中的最小值,4. 寻找两个正序数组的中位数,20. 有效的括号每日刷题系列。今天的题目是《力扣HOT100》题单。题目类型:二分查找,栈。关键:今天的题目都是“多次二分”
1白天的黑夜12 个月前
c++·leetcode·
栈-844.比较含退格的字符串-力扣(LeetCode)通过string简单模拟栈,得到的结果不需要额外转换对于即将加入的元素是‘#’,我们对字符串pop_back(),尾删处理
1白天的黑夜12 个月前
c++·leetcode·
栈-1047.删除字符串中的所有相邻重复项-力扣(LeetCode)该题并不难,难的是能不能想到用栈这个数据结构解题横着看起来不好理解,我们把它竖起来,是不是和消消乐很类似,两两消去,上的会往下掉;这样的结构很难不往栈方面去想
hope_wisdom2 个月前
c语言·数据结构·c++··stack
C/C++数据结构之栈基础在食堂或自助餐厅中,清洁的餐盘通常会按照从下到上的顺序堆叠在一起。服务员或者顾客需要使用时,总是从最上面取一个盘子来用,而不是从最下面取一个盘子。为什么呢?因为这些盘子是“后放上去的先拿出来”。这其实就是我们今天要介绍的数据结构 —— 栈(Stack)。
今后1233 个月前
数据结构·
【数据结构】栈详解栈的概念:① 栈是一种特殊的线性表,它只允许在固定的一端进行插入和删除元素的操作。② 进行数据插入的删除和操作的一端,称为 栈顶 。另一端则称为 栈底 。