前言:
C++ 标准模板库(STL)中的 stack 是一种后进先出(LIFO, Last In First Out)的容器适配器。它只允许在容器的顶端进行元素的插入和删除操作。
一、stack
1、基本概念
stack容器本身并不直接存储数据,而是通过封装其他容器(如deque、vector或list)来实现其功能。默认情况下,stack使用deque作为其底层容器。
2、声明与初始化
-
默认构造函数
std::stack<int> myStack; // 创建一个空的栈,存储int类型元素 -
指定底层容器的构造函数(不常用,因为
stack默认使用deque)std::stack<int, std::vector<int>> myStackWithVector; // 使用vector作为底层容器
3、常用操作
push(const T& value):在栈顶插入一个元素。pop():移除栈顶元素。top():返回栈顶元素的引用,但不移除它。empty():检查栈是否为空。size():返回栈中元素的数量。
4、注意事项
stack不直接提供迭代器支持。stack不支持直接访问栈中的元素(除了栈顶元素),也不能遍历栈中的元素。- 使用
pop函数之前,最好先检查栈是否为空,以避免未定义行为。
875

被折叠的 条评论
为什么被折叠?



