首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

施用两个栈实现队列功能

2012-12-23 
使用两个栈实现队列功能主要思想:将元素分为两部分啊,b。a作为入栈,b作为出栈。1、将所有元素入栈2、当出栈为

使用两个栈实现队列功能

主要思想:
将元素分为两部分啊,b。a作为入栈,b作为出栈。
1、将所有元素入栈
2、当出栈为空时,将a中元素转移到b中。


代码

import java.util.Stack;public class MyQueue<T> {private Stack<T> stackIn = new Stack<T>();  //提供入栈private Stack<T> stackOut = new Stack<T>();  //提供出栈public void enQueue(T element){stackIn.push(element);}private void shift(){while(!stackIn.isEmpty()){stackOut.push(stackIn.pop());}}public T deQueue(){if(stackOut.isEmpty()) shift();        if(! stackOut.isEmpty()){        return stackOut.pop();        }        else return null;}public static void main(String[] args){MyQueue myList = new MyQueue<String>();myList.enQueue("abc");myList.enQueue("def");myList.enQueue("r");myList.enQueue("s");myList.enQueue("t");myList.enQueue("u");System.out.print(myList.deQueue());System.out.print(myList.deQueue());System.out.print(myList.deQueue());System.out.print(myList.deQueue());myList.enQueue("y");myList.enQueue("hjj");System.out.print(myList.deQueue());}}

热点排行