当前位置:网站首页>用栈实现队列
用栈实现队列
2022-07-06 09:19:00 【[email protected]】
实现思路:
队列是先进先出(FIFO)
栈是后进先出(LIFO)
需要用两个栈来实现队列的先进先出
栈in实现push操作 栈out实现pop操作
我们push数据时先进的数据会被压入栈底,当我们重新把push进栈in的数据一个一个pop进栈out时,栈in底的元素此刻就成为了栈out顶部元素,所以pop数据时我们只需要pop栈out中的数据即完成队列的先进先出(FIFO)
入队时我们需要判断栈out是否为空,如果不为空,则需要pop栈out中的数据,如果为空,全部push进栈in
出队时我们需要判断栈in是否为空,如果不为空,则需要pop栈in中的数据,如果为空,全部push进栈out
具体代码如下:
//栈模拟队列
class MyQueue<E>{
public Stack<E> in = new Stack<E>(); // 入队栈
public Stack<E> out = new Stack<E>();// 出队栈
// 入队
public void offer(E e) {
while(!out.isEmpty()) {
in.push(out.pop());
}
in.push(e);
}
// 出队
public E poll() {
while(!in.isEmpty()) {
out.push(in.pop());
}
return out.pop();
}
}
版权声明
本文为[[email protected]]所创,转载请带上原文链接,感谢
https://blog.csdn.net/qq_49194330/article/details/124736851
边栏推荐
- 4.30动态内存分配笔记
- Fgui project packaging and Publishing & importing unity & the way to display the UI
- Tyut Taiyuan University of technology 2022 introduction to software engineering
- 10 minutes pour maîtriser complètement la rupture du cache, la pénétration du cache, l'avalanche du cache
- 12 excel charts and arrays
- TYUT太原理工大学2022软工导论大题汇总
- 【快趁你舍友打游戏,来看道题吧】
- 十分钟彻底掌握缓存击穿、缓存穿透、缓存雪崩
- 13 power map
- 2-year experience summary, tell you how to do a good job in project management
猜你喜欢
Relational algebra of tyut Taiyuan University of technology 2022 database
Alibaba cloud microservices (I) service registry Nacos, rest template and feign client
抽象类和接口
阿里云微服务(三)Sentinel开源流控熔断降级组件
String类
编辑距离(多源BFS)
View UI Plus 发布 1.2.0 版本,新增 Image、Skeleton、Typography组件
Ten minutes to thoroughly master cache breakdown, cache penetration, cache avalanche
Application architecture of large live broadcast platform
染色法判定二分图
随机推荐
Heap sort [handwritten small root heap]
[Topic terminator]
KF UD decomposition pseudo code implementation advanced [2]
TYUT太原理工大学2022数据库大题之E-R图转关系模式
TYUT太原理工大学2022软工导论简答题
[algorithm] sword finger offer2 golang interview question 13: sum of numbers of two-dimensional submatrix
面试必备:聊聊分布式锁的多种实现!
Error: sorting and subscript out of bounds
Introduction and use of redis
The port is occupied because the service is not shut down normally
继承和多态(上)
The earth revolves around the sun
4.30动态内存分配笔记
View UI Plus 发布 1.3.0 版本,新增 Space、$ImagePreview 组件
162. Find peak - binary search
XV Function definition and call
First acquaintance with C language (Part 2)
First acquaintance with C language (Part 1)
初识C语言(上)
初识C语言(下)