stack
是 C++ 标准库中的一个容器适配器,它提供了后进先出(LIFO, Last In First Out)的数据结构实现。stack
底层通常使用 deque
(双端队列)作为实现。
以下是 stack
的一些基本用法:
#include <stack>
stack
对象:std::stack<int> s;
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();
stack
(不推荐,因为 stack
不支持随机访问):for (auto it = s.begin(); it != s.end(); ++it) {
std::cout << *it << " ";
}
注意:stack
不支持迭代器解引用操作(如 *it
)和 stack.at()
方法,因为它们不提供随机访问。