#include<iostream>#include<stack>int main(){
std::stack<int> s;// 向栈中添加元素
s.push(1);
s.push(2);
s.push(3);// 访问栈顶元素
std::cout <<"Top element is: "<< s.top()<< std::endl;// 移除栈顶元素
s.pop();
std::cout <<"After popping, top element is: "<< s.top()<< std::endl;// 检查栈是否为空if(!s.empty()){
std::cout <<"Stack is not empty."<< std::endl;}// 打印栈的大小
std::cout <<"Size of stack: "<< s.size()<< std::endl;return0;}
实例
下面是一个使用 <stack> 的完整示例,包括输出结果:
#include <iostream> #include <stack> int main(){ std::stack<int> s; // 向栈中添加元素 s.push(10); s.push(20); s.push(30); // 打印栈顶元素 std::cout<<"Top element is: "<< s.top()<< std::endl;// 输出: Top element is: 30 // 移除栈顶元素 s.pop(); std::cout<<"After popping, top element is: "<< s.top()<< std::endl;// 输出: After popping, top element is: 20 // 检查栈是否为空 if(!s.empty()){ std::cout<<"Stack is not empty."<< std::endl;// 输出: Stack is not empty. } // 打印栈的大小 std::cout<<"Size of stack: "<< s.size()<< std::endl;// 输出: Size of stack: 2 // 继续移除元素 s.pop(); s.pop(); // 检查栈是否为空 if(s.empty()){ std::cout<<"Stack is empty."<< std::endl;// 输出: Stack is empty. } return0; }
输出结果:
Top element is:30After popping, top element is:20Stackisnot empty.Size of stack:2Stackis empty.