模拟容器适配器栈和队列

来源:互联网 发布:电商运营 知乎 编辑:程序博客网 时间:2024/06/05 16:11

在这里我们用模板参数和模板的模板参数完成适配器栈和队列。

之前写过栈和队列,以及 vector 与 list 的的内容。
在这里我们直接使用vector作为模板的模板参数完成适配器栈,
用list作为模板的模板参数完成适配器队列。

适配器栈:

template<class T,class Container = List<T>>class Queue{public:    Queue()    {}    void Push(const T&t) {        _front.PushBack(t);    }    void Pop() {        _front.PopFront();    }    size_t Size()    {        return _front.Size();    }    bool Empty()    {        return _front.Empty();    }    T Top()    {        return _front.Top();    }private:    Container _front;};

适配器队列:

template<class T,class Container = List<T>>class Queue{public:    Queue()    {}    void Push(const T&t) {        _front.PushBack(t);    }    void Pop() {        _front.PopFront();    }    size_t Size()    {        return _front.Size();    }    bool Empty()    {        return _front.Empty();    }    T Top()    {        return _front.Top();    }private:    Container _front;};
原创粉丝点击