解析如何用两个栈来实现队列的方法
2013-06-04 17:37
351 查看
题目:如何用两个栈来实现队列,即实现队列的两个方法――appendTail(插入)和deleteHead(删除)。
分析:核心思想是一个栈正向存储,另外一个栈逆向存储。正向存储的栈用来插入,逆向存储的栈用来删除。
实现的Java代码如下:
import java.util.Stack;
public class QueneWithTwoStacks<E> {
private Stack<E> stack1;
private Stack<E> stack2;
public void appendTail(E e) {
stack1.push(e);
}
public E deleteHead() throws Exception {
if (stack2.size() <= 0) {
while (!stack1.isEmpty()) {
stack2.push(stack1.pop());
}
}
if (stack2.size() == 0) {
throw new Exception("Queue is empty!");
}
return stack2.pop();
}
}
您可能感兴趣的文章:
相关文章推荐
- 如何用两个栈来实现队列的方法
- C# 使用多线程如何传递两个以上参数的实现方法(附示例) 推荐
- 如何用两个队列实现一个栈,并分析有关栈操作的运行时间。
- 用两个栈如何实现队列?
- 用两个栈如何实现队列?
- 解析Android中如何做到Service被关闭后又自动启动的实现方法
- 用两个栈如何实现队列?
- 用两个栈如何实现队列?
- 两个队列实现一个栈,要求实现Push以及Pop等方法
- 【题目5】如何使用两个栈来实现一个队列
- 用两个栈如何实现队列?
- 如何用两个栈来实现一个队列,并分析有关队列操作的运行时间。
- iOS应用之间跳转 本篇博文将涉及到以下知识点: app应用跳转的原理解析 如何实现两个app应用之间的跳转 如何实现两个app之间跳转到指定界面 二、应用跳转原理 相信从一个应用跳转到另一个应用
- 数据结构:栈和列之如何用两个队列实现一个栈?两个栈实现一个队列?
- 用两个栈如何实现队列?
- 如何利用两个队列实现一个栈,如何利用两个栈实现一个队列
- Java:如何用两个队列实现栈
- 用两个栈如何实现队列?
- 用两个栈如何实现队列?