首页 > 代码库 > 两个stack实现一个queue
两个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()); } }
两个stack实现一个queue
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。