stack
是 C++ 标准库中的一个容器适配器,它提供了后进先出(LIFO, Last In First Out)的数据结构实现。stack
底层通常使用 deque
(双端队列)作为实现。
以下是 stack
的一些基本用法:
- 包含头文件:
#include
- 创建一个空的
stack
对象:
std::stacks;
- 向
stack
中压入元素:
s.push(1); s.push(2); s.push(3);
- 从
stack
中弹出元素:
int top_element = s.top(); // 获取栈顶元素,但不弹出 s.pop(); // 弹出栈顶元素
- 检查
stack
是否为空:
if (!s.empty()) { // 栈非空 } else { // 栈为空 }
- 获取
stack
的大小:
std::size_t size = s.size();
- 使用范围 for 循环遍历
stack
(不推荐,因为stack
不支持随机访问):
for (auto it = s.begin(); it != s.end(); ++it) { std::cout << *it << " "; }
注意:stack
不支持迭代器解引用操作(如 *it
)和 stack.at()
方法,因为它们不提供随机访问。