用两个栈实现队列
来源:互联网 发布:会员软件制度 编辑:程序博客网 时间:2024/05/22 08:19
题目描述
用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。
题目解析:
栈的特性是先进后出,队列的特性是先进先出,我们将输入序列先压入第一个栈,再将第一个栈依次出栈放到第二个栈,即可实现先进先出的队列,以下代码选择在“入队”的时候将数据从输出栈中压入输入栈,然后将数据压入输入栈,在“出队”的时候将数据从输入栈压入输出栈后,从输出栈出栈。
代码如下:
Stack<Integer> stack1 = new Stack<Integer>(); Stack<Integer> stack2 = new Stack<Integer>(); public void push(int node) { while (!stack2.isEmpty()){ stack1.push(stack2.pop()); } stack1.push(node); } public int pop() { while (!stack1.isEmpty()){ stack2.push(stack1.pop()); } return stack2.pop(); }
0 0
- 用两个栈实现队列 & 用两个队列实现栈
- 用两个队列实现栈&用两个栈实现队列
- 用两个栈实现队列 & 两个队列实现一个栈
- 两个栈实现队列&&用两个队列实现一个栈
- 用两个栈实现队列 & 两个队列实现栈
- 用两个栈实现队列
- 用两个栈实现队列
- 用两个栈实现队列
- 用两个队列实现栈
- 用两个栈实现队列
- 用两个栈实现队列
- 用两个队列实现栈
- 用两个栈实现队列
- 用两个队列实现栈
- 用两个栈实现队列
- 用两个栈实现队列
- 用两个栈实现队列
- 用两个栈实现队列
- 01:微信小程序结构和配置
- Java SE学习笔记:创建(Thread/Runable),线程安全,线程同步,同步锁机制
- HDU 1203 和 HDU 2191
- 检查当前的网络状态
- Linux搭建Jenkins平台
- 用两个栈实现队列
- MySQL多实例部署
- 【软件测试】白盒测试简介以及方法简介
- OpenGL Shadow 阴影基础
- LCD背光亮,黑屏问题
- 全局变量,extern和static以及命名空间的区别
- POJ 2823 Sliding Window(单调队列)
- Java SE学习笔记:线程通信、生产者与消费者案例、线程状态(线程的生命周期)、线程操作、Condition类
- show dmvpn---Display DMVPN session related information