首页 > 其他 > 详细

两个stack实现一个queue

时间:2017-04-25 20:35:50      阅读:230      评论:0      收藏:0      [点我收藏+]
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());
    }
}

 

两个stack实现一个queue

原文:http://www.cnblogs.com/caobojia/p/6763942.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!