Chloeis Syntax5 小时前
java·数据结构·笔记·
栈和队列笔记2025-10-12自己实现一遍栈的一些基本方法,印象比较深刻我使用了ArrayList去实现这个栈,但你们也可以自己定义一个数组去实现(效果更好);
Syntech_Wuz1 天前
数据结构·c++·容器··队列
从 C 到 C++:容器适配器 std::stack 与 std::queue 详解对于刚从 C 语言转向 C++ 的朋友来说,标准库中的容器适配器是提升开发效率的利器。std::stack(栈)和std::queue(队列)作为两种常用的容器适配器,封装了底层容器的复杂细节,提供了简洁直观的操作接口,彻底告别了 C 语言中手动实现栈和队列的繁琐。本文将详细介绍这两种适配器的特性、底层实现及完整操作指南。
要一起看日出6 天前
java·数据结构··队列
数据结构-----栈&队列目录栈什么是栈?时间复杂度栈的常见操作入栈出栈栈的常见应用场景浏览器的回退和前进虚拟机栈出栈顺序栈例题
2401_841495649 天前
java·数据结构·c++·python·算法·递归·
【数据结构】汉诺塔问题汉诺塔问题的核心解法是递归分治思想,通过将复杂问题拆解为规模更小的子问题,逐步解决。以下是该代码的具体思路解析:
hope_wisdom16 天前
c语言·数据结构·c++·数组·
C/C++数据结构之用数组实现栈要在C/C++中用数组自行实现栈,我们首先需要理解栈提供的基本操作。这些操作主要包括以下5个接口。Push:向栈中添加一个元素。
自信的小螺丝钉20 天前
leetcode·
Leetcode 155. 最小栈 辅助栈原题链接:Leetcode 155. 最小栈官方解法:辅助栈一个栈同时保存当前值和栈内最小值
KarrySmile1 个月前
二分查找·数组··hot100·二分法·二分搜索·旋转排序数组
HOT100--Day23--153. 寻找旋转排序数组中的最小值,4. 寻找两个正序数组的中位数,20. 有效的括号每日刷题系列。今天的题目是《力扣HOT100》题单。题目类型:二分查找,栈。关键:今天的题目都是“多次二分”
1白天的黑夜11 个月前
c++·leetcode·
栈-844.比较含退格的字符串-力扣(LeetCode)通过string简单模拟栈,得到的结果不需要额外转换对于即将加入的元素是‘#’,我们对字符串pop_back(),尾删处理
1白天的黑夜11 个月前
c++·leetcode·
栈-1047.删除字符串中的所有相邻重复项-力扣(LeetCode)该题并不难,难的是能不能想到用栈这个数据结构解题横着看起来不好理解,我们把它竖起来,是不是和消消乐很类似,两两消去,上的会往下掉;这样的结构很难不往栈方面去想
hope_wisdom1 个月前
c语言·数据结构·c++··stack
C/C++数据结构之栈基础在食堂或自助餐厅中,清洁的餐盘通常会按照从下到上的顺序堆叠在一起。服务员或者顾客需要使用时,总是从最上面取一个盘子来用,而不是从最下面取一个盘子。为什么呢?因为这些盘子是“后放上去的先拿出来”。这其实就是我们今天要介绍的数据结构 —— 栈(Stack)。
今后1231 个月前
数据结构·
【数据结构】栈详解栈的概念:① 栈是一种特殊的线性表,它只允许在固定的一端进行插入和删除元素的操作。② 进行数据插入的删除和操作的一端,称为 栈顶 。另一端则称为 栈底 。
南莺莺1 个月前
c语言·数据结构·算法·
假设一个算术表达式中包含圆括号、方括号和花括号3种类型的括号,编写一个算法来判别,表达式中的括号是否配对,以字符“\0“作为算术表达式的结束符思想:这道题是栈的应用类型,我们可以建立一个栈来保存'(','[','{',通过遍历字符串如果是三个左括号其中一个则入栈,当遇到')'']''}'则出栈配对,如果左右匹配,则遍历下一个元素,如果不匹配直接返回,如果遍历字符串结束,但栈中还有元素,则是左符号单身,如果已经空栈,但是又遍历到一个右括号,则是右括号单身
胡萝卜3.01 个月前
数据结构·学习·算法··队列·栈和队列oj题
【LeetCode&数据结构】栈和队列的应用🔥个人主页:胡萝卜3.0🎬作者简介:C++研发方向学习者📖个人专栏: 《C语言》、《数据结构》 、《C++干货分享》、LeetCode&牛客代码强化刷题
南莺莺2 个月前
数据结构·算法·链表·
//Q是一个队列,S是一个空栈,实现将队列中的元素逆置的算法。#include<stdio.h> #include<stdbool.h> #include<stdlib.h> #define Size 6 typedef struct SqNode//队列结点 { int data; struct SqNode* next; }LinkNode; typedef struct SqQueue//队列 { LinkNode* front, * rear; //头指针和尾指针 }LinkQueue; typedef struct LinkStack//栈 { int d
阿里嘎多哈基米2 个月前
java·开发语言·jvm·线程·
二、JVM 入门——(三)栈栈也是一块区域,用来存放数据的。栈也叫栈内存,主管Java程序的运行。栈是私有的,是在线程创建时创建,所以它的生命期是跟随线程的生命期,线程结束栈内存也就释放。
XMZH030422 个月前
数据结构·链表·
数据结构:单向链表的逆置;双向循环链表;栈,输出栈,销毁栈;顺序表和链表的区别和优缺点;0825代码如下1.创建 双向循环链表2.创建 新结点3. 判断 双向循环链表为空4.头插 双向链表5.头删 双向链表
pusue_the_sun2 个月前
c语言·数据结构·算法··队列
数据结构——栈和队列oj练习这一题需要我们充分理解队列和栈的特点。队列:队头出数据,队尾入数据。栈:栈顶出数据和入数据。我们可以用两个队列实现栈,在这过程中,我们总要保持其中一个队列为空。如果我们出栈,也就是要将栈顶元素弹出,就相当于对非空队列进行操作,就是要把非空队列的队尾元素弹出队列。但是队列的队尾是不能出数据的,想要让队尾数据出队列,就要让这个数据到达队头,同时我们还要保留其他的数据,就需要用到另一个队列来保存。
夏天ccys2 个月前
算法·leetcode···队列
LeetCode Day5 -- 栈、队列、堆目录1.栈1.1 适用场景:需要回退/最近匹配1.2 普通栈 vs 单调栈2.队列2.1 适用场景:需要先进先出/BFS
yzzzzzzzzzzzzzzzzz2 个月前
算法·
leetcode热题——有效的括号给定一个只包含 '(', ')', '{', '}', '[', ']' 的字符串,判断是否每个左括号都能被正确的右括号闭合,并且顺序正确。
回忆是昨天里的海2 个月前
java··后缀表达式·前缀表达式
3.3.2_1栈在表达式求值中的应用(上)操作数就是下边的数,运算符就是+-*/,界限符就是(),去掉界限符之后运算的操作顺序发生改变,即界限符是必不可少的