您好,登錄后才能下訂單哦!
這篇文章主要講解了“如何用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這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。