C++标准库提供了一个名为stack
的类模板,用于实现栈数据结构。可以使用stack
类模板来创建一个栈对象,并使用其成员函数来执行栈的常见操作,如入栈、出栈、获取栈顶元素等。栈是一种数据结构设计,其特点先进后出。(First In, Last Out. 简写FILO)
#include <iostream> #include <stack>
int main() {
std::stack<int> s; // 创建一个整型栈对象
// 入栈
s.push(10);
s.push(20); s.push(30);
// 获取栈顶元素
int topElement = s.top();
std::cout << "Top element: " << topElement << std::endl;
// 出栈
s.pop(); // 30 出栈 只剩20 10
// 判断栈是否为空
bool isEmpty = s.empty();
std::cout << "Is stack empty? " << (isEmpty ? "Yes" : "No") << std::endl;
//遍历
while (!s.empty()) {
std::cout << s.top()<<std::endl ;
s.pop();
}
//此时stack已被清空 isEmpty = s.empty();
std::cout << "Is stack empty? " << (isEmpty ? "Yes" : "No") << std::endl; // 输出yes
return 0;
}