Fork me on GitHub

版权声明 本站原创文章 由 萌叔 发表
转载请注明 萌叔 | https://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来减少垃圾评论。了解我们如何处理您的评论数据