E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
栈与队列
数据结构 |
栈与队列
和数组
文章目录栈的基本概念栈的定义栈的基本操作栈的基本操作代码实现栈的常考题型栈的顺序存储实现顺序栈的定义初始化操作进栈操作出栈操作读栈顶元素操作另一种方式共享栈顺序栈存储实现代码实现栈的链式存储实现链栈的定义链栈的基本操作链栈的代码实现队列的基本概念队列的定义队列的基本操作队列的顺序实现定义初始化操作入队操作循环队列入队操作出队操作方案一:判断队列已满/已空(牺牲一片存储空间)方案二:判断队列已满/已
ErizJ
·
2023-10-02 14:30
计算机学科专业基础综合408
数据结构
数据结构
算法
2020-10-11
第三章
栈与队列
1:滑动窗口描述给定一个长度为n(n#include#includeusingnamespacestd;intn,k,tmp;dequep;dequeq;vectorarr;vectorMyMax
一口桃子酒
·
2023-10-02 07:35
数据结构
数据结构
c++
堆栈
代码随想录-
栈与队列
(模拟)|ACM模式
目录理论基础基础概念:栈常用的函数:队列常用的函数:232.用栈实现队列题目描述:输入输出示例:思路和想法:225.用队列实现栈题目描述:输入输出示例:思路和想法:理论基础基础概念:(1)栈先进后出,队列先进先出。我们常用的SGISTL(Linux的c++编译器GCC采用),如果没有指定底层实现的话,默认是以deque(双向队列)为缺省情况下的底层结构。除此之外,可以指定底层结构为vector或者
希希雾里
·
2023-10-01 03:14
代码随想录感想
数据结构
算法
c++
Javase学习11-
栈与队列
文章目录Javase学习11-
栈与队列
1.栈1.1用数组实现栈1.1.1主类:1.1.2测试类:1.2用链表实现栈1.2.1主类1.2.2测试类1.3调用超级数组和超级链表实现栈主类:测试类:2.队列调用超级数组和超级链表实现队列
TSCCG
·
2023-09-29 16:09
Javase
数据结构
队列
栈
七、
栈与队列
(stack and queue)
文章目录一、
栈与队列
基础二、例题(一)栈1.[232.用栈实现队列](https://leetcode.cn/problems/implement-queue-using-stacks/description
yolo0616
·
2023-09-28 04:38
Agorithm
算法
c++
Leetcode 刷题笔记(八) —— 字符串篇之 KMP
数组类型解题方法二:双指针法三、数组类型解题方法三:滑动窗口四、数组类型解题方法四:模拟五、链表篇之链表的基础操作和经典题目六、哈希表篇之经典题目七、字符串篇之经典题目八、字符串篇之KMP九、解题方法:双指针十、
栈与队列
篇之经典题目十一
a1241692733
·
2023-09-28 01:21
算法
leetcode
算法
重学数据结构-
栈与队列
image.png栈(Stack)LastInFirstOut(LIFO)后进先出栈也是一种线性数据结构image-20200822100456400代码实现栈考虑到需要扩容,所以我们使用ArrayList最为底层的动态数组支持。interfaceStack{//获取栈的大小fungetSize():Int//栈是否为nullfunisEmpty():Boolean//出栈funpop():E//
Petterp
·
2023-09-27 16:49
【算法系列】数据结构,包括链表、双向链表、栈、队列、并查集等
目录一、前言二、链表与邻接表2.1单链表2.1.1常见操作2.1.2问题分析2.2双链表2.2.1常见操作2.2.2问题分析三、
栈与队列
3.1堆栈3.1.1常见操作3.1.2模拟栈3.1.3表达式求值3.2
For 丶I Forever
·
2023-09-26 15:56
算法系列
算法
数据结构
编程语言
链表
代码随想录第七章
栈与队列
1、leecode232用栈实现队列使用栈模拟队列的行为,仅使用一个栈是不行的,所以需要两个栈,一个是输入栈,一个是输出栈。#include#include#include#include#includeusingnamespacestd;classMyQueue{private:stackstack_in;stackstack_out;public:voidpush(intvalue){stac
南星守望
·
2023-09-26 11:39
c++
算法
开发语言
代码随想录训练营结营总结
大概整理下类型吧数组:指针链表:虚拟头哈希表:字符串:KMP
栈与队列
:自定义结构二叉树:BFS、DFS、高度、深度、平衡二叉树、完全二叉树、二叉搜索树回溯:组合、排列问题、N皇后贪心:糖果、汽车问题动态规划
吃瓜太狼
·
2023-09-26 10:48
golang
代码随想录算法训练营19期总结
总结一刷结束了,有些知识点还是没有时间及时消化理解,需要多刷再继续巩固数组二分查找滑动窗口双指针链表虚拟头结点(很好的技巧)双指针哈希实现Hash的多种方式字符串双指针KMP(需要复习)
栈与队列
二叉树(
DWcsdnNET
·
2023-09-25 06:30
算法
leetcode
力扣刷题Day9&10
栈与队列
理论基础java中的栈参考资料:[Day10]
栈与队列
理论基础、leetcode232.用栈实现队列225.用队列实现栈·语雀Stack类Stack类表示对象的后进先出(LIFO)堆栈。
Ade-My,自由
·
2023-09-23 22:48
leetcode刷题
java
leetcode
数据结构
[C语言]
栈与队列
——喵喵队,冲冲冲
宝子,你不点个赞吗?不评个论吗?不收个藏吗?最后的最后,关注我,关注我,关注我,你会看到更多有趣的博客哦!!!喵喵喵,你对我真的很重要。目录前言栈栈的实现队列队列的实现总结前言实践,实践,实践,多练几遍力扣,牛客的题。落实到脚下。栈栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(LastIn
本喵是FW
·
2023-09-22 09:55
喵霸成长记之数据结构篇
【C语言】小猫猫大课堂
数据结构
《算法与数据结构 C语言描述》第四章
栈与队列
栈和队列是两种最重要的数据结构,也是两种最典型的的抽象数据类型,应用非常广泛。从逻辑结构上看,栈和队列都属于线性结构。它们与线性表的主要区别在于它们的操作,或者说它们是两个不同的抽象数据类型的实现。对于栈和队列上的插入、删除操作时受某种特殊限制的。因此,栈和队列也称为操作受限的表,或者限制存取点的表4.1栈及其抽象数据类型4.1.1基本概念栈是一种特殊的线性表,对于它所有的插入和删除都限制在表的同
cain_huang
·
2023-09-22 09:12
C++数据结构X篇_14_二叉树的递归遍历(先序遍历、中序遍历、后续遍历方法介绍;举例;代码实现)
线性就是1对1的结构,像
栈与队列
都属于线性结构。那什么是非线性的结构呢?非线性即1对n的结构这更符合常规情况,线性结构本质上属于非线性结构中的一种特殊形式,像树就属于非线性结构。
十月旧城
·
2023-09-22 01:37
#
C++数据结构X篇
c++
数据结构
滑动窗口最大值、347.前 K 个高频元素|
栈与队列
总结
今天是代码随想录算法训练营第十三天做了两道力扣:239.滑动窗口最大值、347.前K个高频元素以及看了
栈与队列
的总结滑动窗口最大值代码如下:fromcollectionsimportdeque#这里定义一个自己的队列
qq_42839893
·
2023-09-21 08:20
算法
python
开发语言
Python堆
栈与队列
第1关:熟悉Python中的list任务描述本关任务:编写一个能对list对象,进行插入、删除和修改的程序。相关知识为了完成本关任务,你需要掌握:对list的随机访问;如何“弹出”list的第一个和最后一个元素;如何向list添加数据。对list的随机访问随机访问就是指,能不能通过下标之类的索引,直接访问某一位置的元素。数据结构中,顺序表最主要的特点就是随机访问。Python中list的索引,只能
wangyongqi2022
·
2023-09-20 23:09
Python
practice
of
Educoder
Java之
栈与队列
(双端队列,优先级队列)及相关API
目录一.栈1.Java中关于栈的API二.队列三.双端队列1.ArrayDeque2.LinkedList四.优先队列1.大顶堆小顶堆2.堆的基本操作上浮+添加元素下沉+删除3.常见的方法一.栈1.Java中关于栈的APIStackstack=newStack=arr[2i+1]&&arr[i]>=arr[2i+2]小顶堆:每个节点的值都小于或等于其左右孩子的值arr[i]0){//2.获取父元素
允歆辰丶
·
2023-09-19 17:56
java
java
开发语言
【
栈与队列
面试题】用队列实现栈(动图演示)
两个队列实现一个栈前言:个人主页:Dream_Chaser~✨✨刷题专栏:http://t.csdn.cn/UlvTc⛳⛳本篇内容:力扣上
栈与队列
的面试OJ题目目录两个队列实现一个栈队列的实现(前提准备
Dream_Chaser~
·
2023-09-19 15:30
C--数据结构刷题
算法
开发语言
c语言
数据结构
笔记
【
栈与队列
面试题】有效的括号(动图演示)
leetcode20.括号匹配问题前言:个人主页:Dream_Chaser~✨✨刷题专栏:http://t.csdn.cn/UlvTc⛳⛳本篇内容:力扣上
栈与队列
的面试OJ题目目录leetcode20.
Dream_Chaser~
·
2023-09-19 07:10
C--数据结构刷题
算法
数据结构
开发语言
c语言
《剑指offer》| 刷题小记
写在前面寒假的时候粗略的刷过一遍,但是仍有一些不太理解,而且忘的差不多了…在秋招前再刷一遍QAQ记录一下动态规划详解:帅地知乎讲解2022-5-9剑指09:两个栈实现队列key:“两个薯片桶来回倒”知识点:双端队列deque实现
栈与队列
Violettt.
·
2023-09-18 15:45
刷题
java
数据结构
算法
栈与队列
经典题目——用队列实现栈
本篇文章讲解栈和队列这一部分知识点的经典题目:用栈实现队列、用队列实现栈。对应的题号分别为:Leetcode.225——用队列实现栈,。在对两个题目进行解释之前,先回顾以下栈和队列的特点与不同:栈是一种特殊的线性表,并且只能在尾部进行插入、删除的操作。对于栈的实现,可以通过顺序表或者链表的思路来达成。但是,参考栈只能在尾部进行插入、删除操作的特点。一般采用顺序表进行实现。队列也是一种特殊的线性表,
起床写代码啦!
·
2023-09-17 01:52
LeetCode题解
算法
c语言
leetcode
蓝桥杯
考研
数据结构
栈与队列
经典题目——用栈实现队列
上篇文章对栈和队列的一个经典题目——Leetcode.225-用队列实现栈进行讲解。本篇文章将对另一个题目Leetcode.232-用栈实现队列进行讲解1.Leetcode.232——用栈实现队列:题目如下:1.1大体思路分析:题目要求需要实现下列函数所表示的功能,即:(创建队列),(用栈实现队列尾插),(返回队列的开头元素),(移除、返回队列开头元素),(探空),myQueueFree(释放问题
起床写代码啦!
·
2023-09-17 01:51
LeetCode题解
链表
数据结构
蓝桥杯
c++
c语言
leetcode
栈与队列
--逆波兰表达式求值
根据逆波兰表示法,求表达式的值。有效的运算符包括+,-,*,/。每个运算对象可以是整数,也可以是另一个逆波兰表达式。说明:整数除法只保留整数部分。给定逆波兰表达式总是有效的。换句话说,表达式总会得出有效数值且不存在除数为0的情况。示例1:输入:["2","1","+","3","*"]输出:9解释:该算式转化为常见的逆波兰表达式主要有以下两个优点:去掉括号后表达式无歧义,上式即便写成12+34+*
@宇宁
·
2023-09-16 02:15
#
哈希+栈与队列
java
数据结构
栈与队列
--删除字符串中的所有相邻重复项
给出由小写字母组成的字符串S,重复项删除操作会选择两个相邻且相同的字母,并删除它们。在S上反复执行重复项删除操作,直到无法继续删除。在完成所有重复项删除操作后返回最终的字符串。答案保证唯一。示例:输入:"abbaca"输出:"ca"解释:例如,在"abbaca"中,我们可以删除"bb"由于两字母相邻且相同,这是此时唯一可以执行删除操作的重复项。之后我们得到字符串"aaca",其中又只有"aa"可以
@宇宁
·
2023-09-16 02:15
#
哈希+栈与队列
java
数据结构
代码随想录--
栈与队列
-用队列实现栈
使用队列实现栈的下列操作:push(x)--元素x入栈pop()--移除栈顶元素top()--获取栈顶元素empty()--返回栈是否为空(这里要强调是单向队列)用两个队列que1和que2实现队列的功能,que2其实完全就是一个备份的作用importjava.util.LinkedList;importjava.util.Queue;publicclassStack{Queuequeue1;//
@宇宁
·
2023-09-15 23:06
#
哈希+栈与队列
java
数据结构
代码随想录--
栈与队列
-用栈实现队列
使用栈实现队列的下列操作:push(x)--将一个元素放入队列的尾部。pop()--从队列首部移除元素。peek()--返回队列首部的元素。empty()--返回队列是否为空。需要两个栈一个输入栈,一个输出栈,这里要注意输入栈和输出栈的关系。importjava.util.Stack;//用栈是是实现队列publicclassQue{privateStackstackIn=newStackstac
@宇宁
·
2023-09-15 22:36
#
哈希+栈与队列
java
数据结构
相关算法---
栈与队列
栈与队列
1.理论基础队列先进先出,栈先进后出。栈是以底层容器完成其所有的工作,对外提供统一的接口,底层容器是可插拔的(也就是说我们可以控制使用哪种容器来实现栈的功能)。
trigger.
·
2023-09-15 22:05
算法
算法
栈
队列
Leetcode 刷题Day11-----------
栈与队列
Leetcode刷题Day11-----------
栈与队列
有效的括号删除字符串中的所有相邻重复项逆波兰表达式求值
Hoooooope!
·
2023-09-15 22:34
Leetcode
leetcode
线性结构--
栈与队列
(Python实现)
一、栈的原理如果用列表构建栈,那么栈顶(top)对应着列表表尾,栈底(bottom)对应列表表头栈只能在栈顶进行操作:入栈/进栈/压栈/push出栈/pop栈的性质:后进先出二、栈的Python方法实现利用列表构建栈,可以使用python自带的入栈(lst.append)、出栈(lst.pop)函数,十分方便:#构建了一个长度无限的栈classStack:def__init__(self):sel
渡口三三
·
2023-09-15 22:03
python
数据结构---
栈与队列
参照>仅做学习记录1.1栈定义:栈是仅限定在表尾进行插入和删除的线性表。先进后出,类似子弹的弹夹的子弹,对应相关操作。允许插入和删除数据的一端叫栈顶(top),不能修改数据的地方叫栈底(bottom)栈的插入数据叫入栈(push),删除数据叫出栈(pop)。栈的顺序存储结构定义栈长度为stacksize,栈顶的位置用top参数记录,可定义如下结构体typedefintElement;typedef
L7256
·
2023-09-15 22:33
数据结构
栈和队列
20--
栈与队列
-有效的括号
给定一个只包括'(',')','{','}','[',']'的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例1:输入:"()"输出:true示例2:输入:"()[]{}"输出:true示例3:输入:"(]"输出:falseDeque是双端队列的意思。所谓的双端队列,就是能在线性数据结构的两段,进行插
@宇宁
·
2023-09-15 22:01
#
哈希+栈与队列
hot100
java
数据结构
12、栈、队列和字符串的基本操作(Java数据结构)
栈、队列和字符串的基本操作使用
栈与队列
逐个处理字符串中的每个字符将输入的字符串的字符依次入栈,然后输出栈中元素个数与栈顶元素,以空格分隔。
Z-xina
·
2023-09-14 10:21
java数据结构
数据结构
数据结构与算法基础篇(一)链表、栈、队列、KMP
内容1.链表与邻接表2.
栈与队列
3.kmp要非常快得把代码默写出来一个模板要好好儿理解于熟练《记忆力和自制力》目录一、链表1.单链表2.双链表3.邻接表二、栈和队列1.栈2.队列3.单调栈4.单调队列三
day by day get on
·
2023-09-14 08:47
数据结构
算法学习和刷题(acm
蓝桥杯
cf)
数据结构
算法
链表
【LeetCode题目详解】 第五章
栈与队列
part03 239. 滑动窗口最大值 347. 前 K 个高频元素 (day13补)很难没有完全搞懂
本文章代码以c++为例!一、力扣第239题:滑动窗口最大值思路这是使用单调队列的经典题目。难点是如何求一个区间里的最大值呢?(这好像是废话),暴力一下不就得了。暴力方法,遍历一遍的过程中每次从窗口中再找到最大的数值,这样很明显是O(n×k)的算法。有的同学可能会想用一个大顶堆(优先级队列)来存放这个窗口里的k个数字,这样就可以知道最大的最大值是多少了,但是问题是这个窗口是移动的,而大顶堆每次只能弹
xk.77
·
2023-09-14 05:12
算法
c++
数据结构
leetcode
【LeetCode题目详解】第五章
栈与队列
part01 232. 用栈实现队列 225. 用队列实现栈 (day10补)
栈与队列
理论基础我想栈和队列的原理大家应该很熟悉了,队列是先进先出,栈是先进后出。如图所示:那么我这里再列出四个关于栈的问题,大家可以思考一下。
xk.77
·
2023-09-14 05:42
算法
c++
数据结构
Leetcode 刷题笔记(二十六) ——动态规划篇之经典问题:打家劫舍
数组类型解题方法二:双指针法三、数组类型解题方法三:滑动窗口四、数组类型解题方法四:模拟五、链表篇之链表的基础操作和经典题目六、哈希表篇之经典题目七、字符串篇之经典题目八、字符串篇之KMP九、解题方法:双指针十、
栈与队列
篇之经典题目十一
a1241692733
·
2023-09-13 15:06
算法
leetcode
贪心算法
链表
Leetcode 刷题笔记(二十七) ——动态规划篇之买股票问题(一)
数组类型解题方法二:双指针法三、数组类型解题方法三:滑动窗口四、数组类型解题方法四:模拟五、链表篇之链表的基础操作和经典题目六、哈希表篇之经典题目七、字符串篇之经典题目八、字符串篇之KMP九、解题方法:双指针十、
栈与队列
篇之经典题目十一
a1241692733
·
2023-09-13 15:06
算法
leetcode
动态规划
链表
栈与队列
学习总结
栈与队列
学习总结栈结构特点:后进者先出,先进者后出,同时栈是一种“操作受限”的线性表,只允许在一端插入和删除数据栈既可以用数组来实现,也可以用链表来实现。
放纵的荷尔蒙
·
2023-09-13 07:20
栈
队列
队列
栈
数据结构
【数据结构面试题】
栈与队列
的相互实现
目录1.队列实现栈1.1创建栈1.2判断是否为空1.3入栈1.4出栈1.5获取栈顶元素1.6完整代码2.用栈实现队列2.1创建队列2.2判断是否为空2.3入队列2.4出队列2.5获取队头元素2.6完整代码1.队列实现栈用队列实现栈https://leetcode.cn/problems/implement-stack-using-queues/描述:方法:我们用两个队列来实现栈整体思路:1.1创建
WHabcwu
·
2023-09-11 23:05
数据结构
经验分享
其他
java
C#数据结构之
栈与队列
队列的插入操作在表的一端进行而其他操作在表的另一端进行栈的操作只能在表的一端进行栈和队列成为操作受限的线性表栈(Stack)是操作限定在表的尾端进行的线性表。表尾称为栈顶(Top),另一端称为栈底(Bottom),当栈中没有数据元素时叫空栈(EmptyStack)重要方法1.Push()入栈//添加数据2.Pop()出栈//删除数据,返回被删除的数据3.Peek()//取得栈顶的元素,不删除4.C
银河的精神家园
·
2023-09-11 12:39
数据结构和算法(4):
栈与队列
栈ADT及实现栈(stack)是存放数据对象的一种特殊容器,其中的数据元素按线性的逻辑次序排列,故也可定义首、末元素。尽管栈结构也支持对象的插入和删除操作,但其操作的范围仅限于栈的某一特定端。也就是说,若约定新的元素只能从某一端插入其中,则反过来也只能从这一端删除已有的元素。禁止操作的另一端,称作盲端。后进先出:从栈结构的整个生命期来看,更晚(早)出栈的元素,应为更早(晚)入栈者。ADT功能siz
飞大圣
·
2023-09-11 06:42
数据结构和算法
数据结构
算法
数据结构与算法:数据结构基础
目录数组定义形式顺序存储基本操作读取元素更新元素插入元素删除元素扩容初始化时机步骤优劣势链表定义单向链表特点双向链表随机存储基本操作查找节点更新节点插入节点删除元素数组VS链表
栈与队列
栈定义基本操作1.
lgcgkCQ
·
2023-09-10 16:54
数据结构与算法
数据结构
算法
链表
散列表
栈与队列
(JAVA)
单调栈:下一个更大元素。题目意思如图所示:单调栈图解:classSolution{publicint[]nextGreaterElement(int[]nums1,int[]nums2){Stackstack=newStack=0;i--){while(!stack.isEmpty()&&nums2[i]>=stack.peek()){stack.pop();}res[i]=stack.isEmp
Adellle
·
2023-09-09 23:33
java
算法
开发语言
代码随想录算法训练营day10 |
栈与队列
理论基础、232.用栈实现队列、225. 用队列实现栈
目录一、
栈与队列
基础知识四个有关stack问题1)STL2)栈stack3)队列queue二、(leetcode232)用栈实现队列三、(leetcode225)用队列实现栈1)两个queue2)一个queue
weixin_42179093
·
2023-09-09 15:09
leetcode
c++代码随想录
数据结构
栈与队列
的模拟(手撕
栈与队列
)
为什么要
栈与队列
的模拟?虽然有stl,但模拟写的会更快!既然追求刺激,那就贯彻到底咯~栈栈一般有两个变量,分别为stk[N],tt;栈一般有五个操作,分别为初始化,尾插入,尾弹出,判栈空,取栈顶。
思简行繁乃成
·
2023-09-09 02:22
从零开始的算法
队列
栈
手撕
数据结构
栈与队列
的应用之汽车轮渡问题——自己的一些理解
本题摘自王道数据结构
栈与队列
的应用的课后题,题目如下:某汽车轮渡口,过江渡船每次能载10辆汽车过江。
小郭不会扣篮-
·
2023-09-08 22:11
数据结构
c语言
LeetCode 剑指offer 09.用两个栈实现队列
(若队列中没有元素,deleteHead操作返回-1)这道题很简单,主要理解
栈与队列
的区别,注意细节就可以题解c++classCQueue{public:stacks1,s2;CQueu
lucky九年
·
2023-09-07 22:45
leetcode
GO
leetcode
算法
职场和发展
数据结构与算法(四):
栈与队列
栈与队列
我们一般把
栈与队列
合在一块讨论,因为他们具有相似的性质。栈:栈是限定仅在表尾进行插入和删除操作的线性表,所以栈又称为后进先出(LastInFirstOut)的线性表,简称LIFO结构。
进击的阿晨
·
2023-09-07 21:59
数据结构与算法
算法
数据结构
链表
算法基础课笔记-第二章 数据结构
感想是,大学里好好听课还是很重要的目录一、链表与邻接表单链表双链表二、
栈与队列
栈队列三、kmp四、Trie树五、并查集☆六、堆七、哈希表存储结构字符串哈希八、C++STL参考一、链表与邻接表分类单链表:
李加号pluuuus
·
2023-09-07 07:44
笔记
数据结构
上一页
3
4
5
6
7
8
9
10
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他