数据结构_3:栈:STL

来源:互联网 发布:阿里云系统应用市场 编辑:程序博客网 时间:2024/06/05 20:10
  • STL使用deque双向开口的数据结构
  • 修改某物接口,形成另外风貌=配接器(adapter)

templatee<class T, class Sequence =deque<T> >class stack{    friend bool operator==_STL_NULL_TMPL_ARGS(const stack&,const stack&);    friend bool operator< _STL_NULL_TMPL_ARGS(const stack&,const stack&);public:       typedef typename Sequence::value_type value_type;       typedef typename Sequence::size_type size_type;       typedef typename Sequence::referece referece;       typedef typename Sequence::const_referece const_referece;protected:       Sequeue  c; //底层容器publicbool empty() const {return c.empty;}       size_type size() const {return c.size();}       reference top() {return c.back();}       const_reference top() cosnt {return c.back;}       void push(const value_type & x) {c.push_back(x);}       void pop() {c.pop_back();}};---------------------------------------------------template <class T, class Sequence>bool operator==(const stack<T,Sequence>& x,const stack<T,Sequece> &y){   return x.c=y.c;}template <class T, class Sequence>bool operator<(const stack<T,Sequence>& x,const stack<T,Sequece> &y){   return x.c<y.c;}
  • list 作为stack的底层容器
stack<int ,list<int>>  isSatck;
0 0