栈
< stack >
template <class T, class Container = deque<T> > class stack;
介绍
后进先出栈。栈是一种容器适配器,专门用于“后进先出”背景下的问题,它的元素从首部插入,从尾部弹出。
栈被实现为容器适配器,它们是使用特定容器类的封装对象作为其底层容器的类,提供了一组特定的成员函数来访问其元素。 元素从特定容器的“后部”被推入/弹出,这被称为栈的顶部。
底层容器可以是任一种标准容器,也可以是自定义的一种容器类,需要至少实现以下操作:
empty() size() top() pop_back() push_back()
标准容器vector,list,deque实现了上述操作,默认使用deque作为底层容器。
模板参数
- T
元素类型,别名stack::value_type - Container
底层容器类型,容器中元素类型为T,容器默认为deque,别名stack::container_type
成员函数
构造函数
/* 初始化 */
explicit stack(const container_type& ctnr);
/* 移动构造 */
stack(container_type&& ctnr = container_type());
/* 其它构造函数不常用 */
其它
empty()
size()
pop()
push()
emplace()
swap()
top()