Post

C++ STL Container Adapter Stack

C++ STL Container Adapter Stack

Stack

  • based on gnu 2.9
  • 底层支撑的Sequence可以为deque, list, vector

Achieve

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
/*
    typedef typename Sequence::value_type value_type;
    typedef typename Sequence::size_type size_type;
    typedef typename Sequence::reference reference;
    typedef typename Sequence::const_reference const_reference;
*/
template <class T, class Sequence = deque<T> >
class stack {
    Sequence c;
    // 调用Sequence的函数实现
    bool empty() const { return c.empty(); }
    size_type size() const { return c.size(); }
    reference top() { return c.back(); }
    const_reference top() const { return c.back(); }
    void push(const value_type& x) { c.push_back(x); }
    void pop() { c.pop_back(); }
};
This post is licensed under CC BY 4.0 by the author.