解析如何用两个栈来实现队列的方法
解析如何用两个栈来实现队列的方法
发布时间:2016-12-28 来源:查字典编辑
摘要:题目:如何用两个栈来实现队列,即实现队列的两个方法——appendTail(插入)和deleteHead(删除)。分析:核心思想是一个栈正向...

题目:如何用两个栈来实现队列,即实现队列的两个方法——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();

}

}

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新Java学习
热门Java学习
编程开发子分类