栈和队列之用2个栈实现一个队列
生活随笔
收集整理的這篇文章主要介紹了
栈和队列之用2个栈实现一个队列
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
import java.util.Stack;/*** @author chenyu* 題目:編寫一個類,用2個棧實現一個隊列,支持隊列的基本操作(add poll peek)* 思路:棧的特點是先進后出,而隊列是先進先出,我們用兩個棧真好把順序反過來實現類似隊列的操作,如下,將1-5依次壓入stackPush,* 再講5-1倒入stackPop,從stackPop彈出時,順序就像隊列一樣* 5 1* 4 2* 3 3* 2 4* 1 5* stackPush stackPop* 必須做到下面2點* 1、如果stackPush往stackPop里面壓入數據,那么必須一次性把stackPush中的數據全部壓入* 2、如果stackPop不為空,stackPush絕對不能向stackPop中壓入數據*/
public class TwoStacksQueue {public Stack<Integer> stackPush;public Stack<Integer> stackPop;public TwoStacksQueue(){stackPush=new Stack<Integer>();stackPop=new Stack<Integer>();}public void add(int value){stackPush.push(value);}public int poll(){if(s
總結
以上是生活随笔為你收集整理的栈和队列之用2个栈实现一个队列的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 栈和队列之设计一个有getMin(得到最
- 下一篇: 栈和队列之仅用递归函数和栈操作逆序一个栈