C++容器statck
时间: 2024-09-06 19:04:29 浏览: 34
在C++中,`stack`是一种内置容器,它实现了后进先出(LIFO,Last In First Out)的数据结构。`std::stack`模板类属于`<stack>`头文件,它的基本操作包括:
1. **创建**:你可以通过`std::stack`类型名创建一个新的栈,例如`std::stack<int>`表示一个整数类型的栈。
2. **元素插入**:`push()`函数用于将元素添加到栈顶,新元素会覆盖栈顶的旧元素。
3. **元素弹出**:`pop()`函数用于移除并返回栈顶元素,如果栈为空则抛出异常。
4. **查看栈顶元素**:`top()`函数不改变栈的内容,只返回当前栈顶的元素,如果没有元素,也会抛出异常。
5. **判断是否为空**:`empty()`函数检查栈是否为空,如果为空则返回`true`,否则`false`。
6. **获取大小**:`size()`函数返回栈中元素的数量。
7. **清空栈**:`clear()`函数清除栈中的所有元素。
```cpp
#include <stack>
std::stack<int> myStack;
myStack.push(1);
myStack.push(2);
int topValue = myStack.top(); // 2
if (!myStack.empty()) {
std::cout << "Stack is not empty" << std::endl;
}
myStack.pop(); // 消耗栈顶元素,然后可能是1(取决于是否还有其他元素)
```
阅读全文