如何用Stacks实现Queue

2023-05-19

这篇文章主要讲解了“如何用Stacks实现Queue”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何用Stacks实现Queue”吧!

题目: 用Stacks实现Queue。

思路: Queue是先进先出FIFO,Stack是先进后出FILO。使用Stack模拟实现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实现Queue”的内容了,经过本文的学习后,相信大家对如何用Stacks实现Queue这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是本站,小编将为大家推送更多相关知识点的文章,欢迎关注!

《如何用Stacks实现Queue.doc》

下载本文的Word格式文档,以方便收藏与打印。