stack概述
stack是一种先进后出FILO的数据结构,只有一个出口(deque是两头可进出),stack允许新增元素,移除元素,取得最顶端元素,但除了最顶端,没有任何其他方法可以存取stack的其他元素,换言之,stack没有遍历行为。
将元素推入stack操作为push,推出操作为pop
stack以底部容器完成其所有工作,以deque作为缺省情况下的stack底层结构。
操作函数有:
c为底层容器:
bool empty() const {return c.empty();}
size_type size() const {return c.size();}
reference top() {return c.back();} //得到最上面的元素
void push(const value_type& x) {c.push_back(x);} //输入元素
void pop() {c.pop_back();} //删除最上面元素
stack没有迭代器
stack所有元素的进出都必须符合先进后出的条件,只有stack顶端的元素,才有机会被外界取用。stack不提供迭代器和走访功能。