用两个栈实现队列操作
来源:互联网 发布:阿里巴巴菜鸟网络面试 编辑:程序博客网 时间:2024/05/17 10:55
package com.google.android;import java.util.Stack;/** * 用两个栈实现一个队列 * @author passionli * * @param <T> */public class QueueBaseOnDoubleStack<T> {private Stack<T> mStack1;private Stack<T> mStack2;public QueueBaseOnDoubleStack() {mStack1 = new Stack<T>();mStack2 = new Stack<T>();}public T appendTail(T v) {mStack1.push(v);return v;}public T deleteHead() {if (mStack2.empty()) {while (!mStack1.empty()) {mStack2.push(mStack1.pop());}}return mStack2.empty() ? null : mStack2.pop();}public boolean empty() {return mStack1.empty() && mStack2.empty();}public static void main(String[] args) {QueueBaseOnDoubleStack<String> queue = new QueueBaseOnDoubleStack<String>();System.out.println(queue.deleteHead());queue.appendTail("a");queue.appendTail("b");queue.appendTail("c");System.out.println(queue.deleteHead());queue.appendTail("a");queue.appendTail("b");while (!queue.empty()) {System.out.println(queue.deleteHead());}}}
0 0
- 用两个栈实现队列操作
- 用两个栈实现队列的操作
- 用两个栈实现队列的操作
- 用两个队列实现一个栈的功能操作C++
- C++:利用两个栈实现队列操作
- (java)两个队列实现栈的操作
- 用两个栈实现队列 & 用两个队列实现栈
- 用两个队列实现栈&用两个栈实现队列
- 用两个栈实现队列 & 两个队列实现一个栈
- 两个栈实现队列&&用两个队列实现一个栈
- 用两个栈实现队列 & 两个队列实现栈
- 用两个栈实现队列
- 用两个栈实现队列
- 用两个栈实现队列
- 用两个队列实现栈
- 用两个栈实现队列
- 用两个栈实现队列
- 用两个队列实现栈
- Apache CXF简单WebService例子
- ubuntu 下 安装jdk 1.6
- 网络负载均衡环境下wsHttpBinding+Message Security+Windows Authentication的常见异常
- 结构体、共用体
- Codeforces Round #268 (Div. 2) D Two Sets
- 用两个栈实现队列操作
- The 15th tip of DB Query Analyzer
- strlen函数,strcat函数,strcpy函数,strncpy函数,strcmp函数
- UIscrollview和UItableView结合使用(就是cell可以滑动改变图片)
- iOS UIPickerView
- 列表list
- HDU4803 Poor Warehouse Keeper【贪心】
- 【HDU】5039 Hilarity 线段树
- function与感叹号之插件开发