解析如何用两个栈来实现队列的方法_Java教程-查字典教程网
解析如何用两个栈来实现队列的方法
解析如何用两个栈来实现队列的方法
发布时间: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学习
    编程开发子分类