Advertisement

基于两个队列的栈结构实现

阅读量:

栈:后进先出
队列:先进先出

思路:通过设置一个主要的队列作为核心存储结构,同时借助另一个辅助队列实现元素顺序的逆置操作,从而完成所需功能。

复制代码
    public class Test {
    	
    	class QueueStack {
    		
    		private Queue<Integer> queueA = new LinkedList<Integer>();
    		
    		private Queue<Integer> queueB = new LinkedList<Integer>();
    		
    		public void push(Integer val) {
    			if(queueA.size() ==0) {
    				queueA.offer(val);
    			}else {
    				//之前的先出队列,保存到queueB
    				while(!queueA.isEmpty()) {
    					queueB.offer(queueA.poll());
    				}
    				//把当前元素放到A中
    				queueA.offer(val);
    				
    				//把队列B中的元素重新放到A中
    				whi

全部评论 (0)

还没有任何评论哟~