溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何用Stacks實現(xiàn)Queue

發(fā)布時間:2021-12-18 16:01:57 來源:億速云 閱讀:114 作者:iii 欄目:大數(shù)據(jù)

這篇文章主要講解了“如何用Stacks實現(xiàn)Queue”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“如何用Stacks實現(xiàn)Queue”吧!

題目: 用Stacks實現(xiàn)Queue。

思路: Queue是先進先出FIFO,Stack是先進后出FILO。使用Stack模擬實現(xiàn)Queue的功能,可以使用兩個Stack,一個進行入Stack操作,一個進行出Stack操作。這兩個Stack中的元素位置是顛倒的。比如,一個元素在第一個Stack位于Stack頭,那么這個元素在另一個Stack則位于Stack尾。

Language : cpp

class MyQueue {public:

    stack<int> input, output;/** Push element x to the back of queue. */void push(int x) {
        input.push(x);
    }/** Removes the element from in front of queue and returns that element. */int pop() {int a = peek();
        output.pop();return a;
    }/** Get the front element. */int peek() {if(output.empty()){while(input.size()){
                output.push(input.top());
                input.pop();
            }
        }return output.top();
    }/** Returns whether the queue is empty. */bool empty() {return input.empty() && output.empty();
    }
};/**
 * Your MyQueue object will be instantiated and called as such:
 * MyQueue obj = new MyQueue();
 * obj.push(x);
 * int param_2 = obj.pop();
 * int param_3 = obj.peek();
 * bool param_4 = obj.empty();
 */

感謝各位的閱讀,以上就是“如何用Stacks實現(xiàn)Queue”的內容了,經(jīng)過本文的學習后,相信大家對如何用Stacks實現(xiàn)Queue這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

AI