解析如何用两个栈来实现队列的方法
时间:03月28日

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

?

最新动态
大家感兴趣的内容
关于我们 - 广告合作 - 联系我们 - 免责声明 - 网站地图 - 投诉建议 - 在线投稿
严禁网站镜像,否则追究法律责任 CopyRight © 2015-2018 信喏网络 All Rights Reserved.
地址:上海市经济技术开发区地盛西路1号 数码庄园A2座
电话:18758071355 微信:596644346 邮箱:596644346@qq.com
浙ICP备15017827号-1