Fork me on GitHub

版权声明 本站原创文章 由 萌叔 发表
转载请注明 萌叔 | http://vearne.cc
#include <iostream>
#include <stack>
using namespace std;
template<typename T>
class MyQueue{

public:
    MyQueue(){}
    ~MyQueue(){}
    void push(T& a);
    T& front();
    void pop();

    int size(){
        return st1.size()+st2.size();
    }
    bool empty(){
        return size()==0;
    }
private:
    stack<T> st1;
    stack<T> st2;

};
template<typename T> 
void MyQueue<T>::push(T& a){
        st1.push(a);
}
template<typename T>
T& MyQueue<T>::front(){
    if(st2.empty()){
            while(!st1.empty()){
                st2.push(st1.top());
                st1.pop();
            }
    }
    return st2.top();
}
template<typename T>
void MyQueue<T>::pop(){
    front();
    st2.pop();
}
int main(){
    MyQueue<int> q;
    int a=1;
    int b=2;
    int c=3;
    q.push(a);
    q.push(b);
    //cout<<q.size()<<endl;
    cout<<q.front()<<endl;
    q.push(c);
    while(!q.empty()){
        cout<<q.front()<<endl;
        q.pop();
    }
    //cout<<q.front()<<endl;
}

后记

这是我2012年的文章,从别的博客迁移进来


如果我的文章对你有帮助,你可以给我打赏以促使我拿出更多的时间和精力来分享我的经验和思考总结。

微信支付码

发表评论

电子邮件地址不会被公开。

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据