用两个栈实现队列

来源:互联网 发布:淘宝的钻石展位是什么 编辑:程序博客网 时间:2024/06/08 15:29
#include<iostream>#include<stack>using namespace std;template <class T> class MyQueue{stack<T> s1,s2;     public: MyQueue(){} /*int size() { return s1.size()+s2.size(); } bool empty() {            if(size()==0)return true;elsereturn false; }*/ void push(T value) { s1.push(value); } T pop() { if(!s2.empty()) return s2.top(); while(!s1.empty()) { s2.push(s1.top()); s1.pop(); } return s2.top(); }/* void pop() { if(s2.empty()) { while(!s1.empty()) {    s2.push(s1.top());    s1.pop(); } } s2.pop(); }*/};void main(){MyQueue<char> queue;queue.push('a');queue.push('b');queue.push('c');char r = queue.pop();cout<<r<<endl;}

0 0
原创粉丝点击