两个栈实现一个队列的数据结构 算法
发布日期:2022-02-10 13:35:49 浏览次数:39 分类:技术文章

本文共 742 字,大约阅读时间需要 2 分钟。

首先清楚这两种数据结构的特点;

栈:先进后出;类似一个木桶放东西,只能从一个方向上放入以及取出;

队列:先进后出;类似一个管道,两边是相通的,规定只能从一边放入,从另一边取出;

两个栈实现队列的话,可以想像把两个桶A,B底部挨着构成一个管道,但是中部是阻隔住的;也就意味着出队列时,出完B这时队列到一半,无法继续出A的内容;这时需要将A整个出栈到B中,继续B出栈;就可以实现一个队列的效果;重点逻辑就是栈转移这一点;

代码实现

import java.util.Stack;public class Solution {    Stack
stack1 = new Stack
(); Stack
stack2 = new Stack
(); public void push(int node) { stack1.push(node); } public int pop() { if(stack1.empty()&&stack2.empty()){ return '队列此时已经为空' }else{ if(stack2.empty()){ while(!stack1.empty()){ stack2.push(stack1.pop()); } } } return stack2.pop(); }}

 

 

转载地址:https://blog.csdn.net/zoooo_/article/details/110477709 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Vue的变化侦测/响应式原理-源码讲解笔记
下一篇:反转单链表 算法 java

发表评论

最新留言

很好
[***.229.124.182]2024年03月03日 06时40分59秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

diy.php添加验证码,织梦dedecms自定义表单中加入验证码 2019-04-21
在php脚本中 通过可以获取,在PHP中,可以使用Unix时间戳获取精确的脚本执行时间。... 2019-04-21
s2-045 php exp,S2-045-EXP.py --Struts2任意代码执行漏洞 (S2-045,CVE-2017-5638) 2019-04-21
linux sdk 窗口句柄,Venus: 针对Linux平台上,对常用的系统API进行面向对象的封装SDK。... 2019-04-21
c语言程序设计 科学出版社习题答案,C语言程序设计(科学出版社)第4章 课后习题参考答案.doc... 2019-04-21
c语言 无错 但只运行一半,求哈夫曼编码时程序运行到一半就终止了,编译无错... 2019-04-21
deepin linux 2014安装,2014.2版本的Deepin虚拟机安装浅谈(就是深度Linux) 2019-04-21
android 限速工具,Android下载器之限速篇 2019-04-21
html刷新ajax实现原理,AJAX的原理—如何做到异步和局部刷新 2019-04-21
html中列表菜单加文字请选择,html中下拉菜单 2019-04-21
读书郎平板中android,读书郎学生平板电脑怎么用 使用方法详解【图文】 2019-04-21
html5 调用摄像头 支持IE,JS调用本地摄像头拍照(兼容各大浏览器及IE8+) 2019-04-21
rust和gta5哪个吃配置_盘点4款Steam“自由度”很高的游戏,GTA5众所周知,目前最热门... 2019-04-21
es审计日志_elasticsearch 事务日志translog 2019-04-21
dw1510_超低温种子储存柜 2019-04-21
python用opencv计算汽车间距_计算机视觉:利用OpenCV和Python进行车辆计数详细步调... 2019-04-21
文件未找到mathpage.wll_解决MathPage.wll文件找不到的问题(找了好久的良心之作)... 2019-04-21
docker 查看容器磁盘大小_查看 docker 容器使用的资源 2019-04-21
python consul服务发现_Prometheus+Consul服务自动发现监控 2019-04-21
excel提取不规则字段_利用excel服务器来实现3级或者更多级的层级关联 2019-04-21