zoukankan      html  css  js  c++  java
  • N5-用两个栈来实现一个队列

    题目描述

    用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。
    import java.util.Stack;
    /**
     * 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。
     * @author Sonya
     *
     *进队列时,直接进入栈一中,出栈时先将栈一中的所有按照出栈次序依序压入栈2中,弹出栈2首个元素
     *即为第一个入队列的元素,然后再将2所有的元素依次压入栈一中
     */
    public class N5_Two_stack_to_queue {
    	 Stack<Integer> stack1 = new Stack<Integer>();
    	 Stack<Integer> stack2 = new Stack<Integer>();
    	    
    	    public void push(int node) {
    	        stack1.add(node);
    	    }
    	    
    	    public int pop() {
    	    	
    	    	int a;
    	    	while(!stack1.isEmpty()) {
    	    		stack2.add(stack1.pop());
    	    	}
    	    	a=stack2.pop();
    	    	while(!stack2.isEmpty()) {
    	    		stack1.add(stack2.pop());
    	    	}
    			return a;
    	    
    	    }
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		N5_Two_stack_to_queue n5=new N5_Two_stack_to_queue();
    		n5.push(1);
    		n5.push(2);
    		System.out.println(n5.pop());
    		n5.push(3);
    		System.out.println(n5.pop());
    		System.out.println(n5.pop());
    		
    		
    	}
    
    }
    

      

  • 相关阅读:
    Codeforces 858B
    区域赛前立FLAG
    GCJ Practice Contest
    UVa 10004 Bicoloring
    UVa 784 Maze Exploration
    Pacemaker+ISCSI实现Apache高可用-环境准备
    多机免密互信
    HAPROXY + Keepalived
    LVS+KEEPALIVED
    oracle-数据库被注入恶意攻击程序的案例恢复
  • 原文地址:https://www.cnblogs.com/kexiblog/p/10848918.html
Copyright © 2011-2022 走看看