示例代码如下:
#include <iostream>
#include <stack>//栈头文件
using namespace std;
// NumStack.push(num); 将num入栈
// NumStack.pop(); 栈顶数值出栈,栈顶改变
// NumStack.top(); 返回栈顶数值,栈顶不变
// NumStack.size(); 返回栈中元素数目
// NumStack.empty(); 堆栈为空则返回真
int main()
{
stack<int>NumStack;//数字栈
int n,num;
cout<<"请输入所需存储入栈元素个数:";
cin>>n;
//-------------------入栈-------------------------
for(int i=0;i<n;i++){
cout<<"请输入第"<<i<<"个入栈元素:";
cin>>num;
NumStack.push(num);//入栈
}
cout<<"\n---------入栈完毕---------\n"<<endl;
//--------------------出栈/读取栈顶元素-------------------
for(int i=0;i<n;i++){
cout<<"第"<<i<<"次读取栈顶元素为:"<<NumStack.top()<<endl;//取出栈顶数值
NumStack.pop(); //出栈
cout<<"栈中剩余元素数目:"<<NumStack.size()<<endl;
if(NumStack.empty()) cout<<"\n----堆栈已为空/出栈完毕----"<<endl;
}
}
结果输出如下: