您当前的位置: 首页 > 
  • 0浏览

    0关注

    674博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

用两个栈实现一个队列

沙漠一只雕得儿得儿 发布时间:2016-11-21 12:00:10 ,浏览量:0

package 栈与队列上;

import java.util.Stack;

public class MyQueue {
	public Stack stack1 = new Stack();
	public Stack stack2 = new Stack();
	public int size;

	public void push(int x) {
		stack1.push(x);
		size++;
	}

	public void pop() {
		if (!stack2.isEmpty()) {
			stack2.pop();
		} else {
			while (!stack1.isEmpty()) {
				stack2.push(stack1.pop());
			}
			stack2.pop();
		}
		size--;
	}

	public int peek() {
		if (!stack2.isEmpty()) {
			return stack2.peek();
		} else {
			while (!stack1.isEmpty()) {
				stack2.push(stack1.pop());
			}
			return stack2.peek();
		}
	}

	public boolean empty() {
		return size == 0 ? true : false;
	}

	public static void main(String[] args) {
		MyQueue myqueue = new MyQueue();
		System.out.println("队列初始大小:" + myqueue.size);
		myqueue.push(1);
		myqueue.push(2);
		myqueue.push(3);
		System.out.println("队列赋值后大小:" + myqueue.size);
		while (!myqueue.empty()) {
			System.out.print(myqueue.peek() + " ");
			myqueue.pop();
		}
	}
}

关注
打赏
1657159701
查看更多评论
立即登录/注册

微信扫码登录

0.0365s