zoukankan      html  css  js  c++  java
  • 两个stack实现一个queue

    package com.hzins.suanfa;
    
    import java.util.Stack;
    /**
     * 两个stack实现一个queue
     * @author Administrator
     *
     */
    public class TwoStackToQueue {
        private Stack<Integer> stack1;
        private Stack<Integer> stack2;
        public TwoStackToQueue(){
            stack1 = new Stack<Integer>();
            stack2 = new Stack<Integer>();
        }
        /**
         * 入队
         * @param value
         */
        public void push(int value){
            stack1.push(value);
        }
        /**
         * 出队
         */
        public int pop(){
            while(!stack2.isEmpty()){
                return stack2.pop();
            }
            while(!stack1.isEmpty()){
                stack2.push(stack1.pop());
            }
            return stack2.pop();
        }
        public static void main(String[] args) {
    //         Stack<Integer> stack1 = new Stack<Integer>();
    //         stack1.push(1);
    //         stack1.push(2);
    //         stack1.push(3);
    //         stack1.push(4);
    //         System.out.println(stack1.size());
    //         System.out.println(stack1.pop());
    //         System.out.println(stack1.pop());
    //         System.out.println(stack1.pop());
    //         System.out.println(stack1.pop());
            TwoStackToQueue queue = new TwoStackToQueue();
            queue.push(1);
            queue.push(2);
            queue.push(3);
            System.out.println(queue.pop());
            System.out.println(queue.pop());
            queue.push(4);
            System.out.println(queue.pop());
        }
    }
  • 相关阅读:
    8常用控件
    7对话框
    6控件
    5Lambda表达式
    4自定义信号和槽函数
    3信号与槽
    2指定父对象
    springboot整合activemq
    springboot整合springtask
    jvm与tomcat启动优化配置
  • 原文地址:https://www.cnblogs.com/caobojia/p/6763942.html
Copyright © 2011-2022 走看看