c++stlstack
时间: 2023-10-25 09:04:34 浏览: 115
C++标准库中的`std::stack`是一个模板类,用于实现栈的数据结构。它是基于`deque`(双端队列)或`list`(链表)等容器实现的。`std::stack`提供了一些常用的栈操作,如压栈(push)、弹栈(pop)、判断栈是否为空(empty)以及获取栈顶元素(top)等。
使用`std::stack`需要包含头文件`<stack>`,然后可以像下面的示例代码一样使用它:
```cpp
#include <iostream>
#include <stack>
int main() {
std::stack<int> myStack;
// 压栈
myStack.push(10);
myStack.push(20);
myStack.push(30);
// 判断栈是否为空
if (myStack.empty()) {
std::cout << "Stack is empty." << std::endl;
} else {
std::cout << "Stack is not empty." << std::endl;
}
// 获取栈顶元素
std::cout << "Top element: " << myStack.top() << std::endl;
// 弹栈
myStack.pop();
// 获取新的栈顶元素
std::cout << "Top element after pop: " << myStack.top() << std::endl;
return 0;
}
```
这个示例代码创建了一个整型的栈`myStack`,并进行了一些基本操作。输出结果为:
```
Stack is not empty.
Top element: 30
Top element after pop: 20
```
希望这能帮到你!如果还有其他问题,请继续提问。
阅读全文