用两个栈实现队列的操作

来源:互联网 发布:国际淘宝网 编辑:程序博客网 时间:2024/06/06 08:01
#include <stack>#include <iostream>using namespace std;class Queue {public:void enQueue(int e) {s1.push(e);}int deQueue() {if (s2.empty()) {while (!s1.empty()) {int elem = s1.top();s1.pop();s2.push(elem);}int res = s2.top();s2.pop();return res;}else {int res = s2.top();s2.pop();return res;}}private:std::stack<int> s1;std::stack<int> s2;};int main() {Queue q;q.enQueue(4);q.enQueue(7);q.enQueue(3);q.enQueue(9);q.enQueue(1);cout << q.deQueue() << endl;cout << q.deQueue() << endl;cout << q.deQueue() << endl;cout << q.deQueue() << endl;cout << q.deQueue() << endl;return 0;}

0 0