栈和队列——用两个栈实现一个队列
来源:互联网 发布:c语言工资计算系统 编辑:程序博客网 时间:2024/05/29 19:26
题目
用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。
思路
将一个栈作为压入栈 ( stackPush ),在压入数据时只往该栈压入,另外一个栈作为弹出栈,在弹出数据时只从这个栈弹出 ( stackPop )。
因为栈的特点是:先进后出,所以先将所有数据逐一压入 stackPush 栈中,然后再将所有数据从栈 stackPush 顶到栈底逐一压入到 stackPop 栈中,当 stackPush 栈底的数据全部压入到 stackPop 中,然后再次将数据从栈 stackPop 顶到栈底逐一弹出所有数据,那么栈序列顺序和入栈序列就一样了。
注明:所有的数据都要一次性的 push 和 pop,其间不能够穿插进行操作;并且 stackPop 中之前不能有数据!
如下图就是大概思路草图:
则就将两个栈实现了一个队列,并有队列的 push 和 pop 操作。
代码
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
阅读全文
1 0
- 9.3栈和队列(七)——用两个栈来实现一个队列
- 《剑指offer》栈和队列——用两个栈实现一个队列
- 栈和队列——用两个栈实现一个队列
- 用两个栈实现队列 & 两个队列实现一个栈
- 两个栈实现队列&&用两个队列实现一个栈
- 用两个栈实现一个队列和用两个队列实现一个栈
- 用两个栈实现一个队列和用两个队列实现一个栈
- 用两个栈实现一个队列:实现出队列和入队列功能,用两个队列实现一个栈
- 两个栈实现一个队列——栈和队列面试题(2)
- 两个队列实现一个栈——栈和队列面试题(3)
- 用两个栈实现队列和用两个队列实现一个栈
- 用两个栈实现队列和用两个队列实现一个栈
- 用两个栈实现队列和用两个队列实现一个栈
- 面试题7:用两个栈实现队列和用两个队列实现一个栈
- 用两个栈实现队列和用两个队列实现一个栈
- 简单题_用两个栈实现队列和用两个队列实现一个栈
- 用两个栈实现一个队列,算法和实现
- 学习笔记——用两个队列实现一个栈
- nexus的安装和数据迁移
- react-router使用总结
- MySQL UNION 操作符
- Unity中的mip map
- Docker swarm 实践思考
- 栈和队列——用两个栈实现一个队列
- Putty连阿里云CentOS7.3服务器总是掉线的解决方法
- 给你一个原汁原味的Retrofit2+Rxjava2的请求封装
- Servlet生命周期
- 【转】漫谈Moq(三)
- JDT AST学习笔记
- php无限极分类
- 遮罩层不能覆盖导航条
- websphere集群启动顺序