特殊容器:Stack
#include <stack>
namespace std{
template <typename T, typename Container = depue<T>> class stack;
}
std::stack<int> st;
Stack 的实现中只是单纯的把各项操作转化为内部容器的对应调用,可以使用任何序列容器支持 stack,只要它们支持:back()、push_back()、pop_back()。
核心接口
Stack 的核心接口主要由以下成员函数构成:
- push() 将一个元素放入 stack 内;
- top() 放回 stack 内的“下一个”元素;
- pop() 从 stack 中移除元素。
注意,pop() 移除下一个元素,但不返回它;top() 返回下一个元素,但并不移除它。
如果 stack 内没有元素,调用 top() 和 pop() 会导致不明确行为,可以采用 size() 和 empty() 来检查容器是否为空。
参考文献:《C++标准库(第2版)》 [德] Nicolai M. Josuttis 著,候捷 译,电子工业出版社。