栈容器的内容比较少,只提供了入栈,出栈,栈的大小,栈顶元素等函数,没有提供迭代器等,无法访问。
不用遍历内部元素时可以使用。底部容器为vector、deque 和 list。
代码:
/*
statck
Author:YuBo
Date:2018/2/5
*/
#include<iostream>
#include<stack>
using namespace std;
stack<int> s;
void menu()
{
cout<<"******1.入栈 2.出栈******"<<endl;
cout<<"******3.读取栈顶 4.栈的大小******"<<endl;
cout<<"******5.退出"<<endl;
}
void PUSH()
{
int i;int n;int N;
cout<<"请输入你要输入的整数个数:"<<endl;
cin>>N;
cout<<"请输入"<<N<<"个整数:"<<endl;
for(i=0;i<N;i++)
{
cin>>n;
s.push(n);
}
}
void POP()
{
int i,N;
cout<<"请输入你要删除的整数个数:"<<endl;
cin>>N;
if(N>s.size())cout<<"里面没有这么多元素。。。"<<endl;
else{
for(i=0;i<N;i++)
{
s.pop();
}
}
}
void Gettop()
{
if(s.empty())cout<<"栈已经空了!"<<endl;
else cout<<"栈顶元素为:"<<s.top()<<endl;
}
void Getsize()
{
cout<<"栈的大小为:"<<s.size()<<endl;
}
int main()
{
int i;
while(1)
{
menu();
cout<<"请输入菜单号:"<<endl;
cin>>i;
if(i==5)break;
switch(i)
{
case 1:PUSH();break;
case 2:POP();break;
case 3:Gettop();break;
case 4:Getsize();break;
default:cout<<"输入错误!";break;
}
}
return 0;
}
更多STL例子:C++ STL的使用
有问题请下方评论,转载请注明出处,并附有原文链接,谢谢!如有侵权,请及时联系。
最后
不知道你们用的什么环境,我一般都是用的Python3.6环境和pycharm解释器,没有软件,或者没有资料,没人解答问题,都可以免费领取(包括今天的代码),过几天我还会做个视频教程出来,有需要也可以领取~
给大家准备的学习资料包括但不限于:
Python 环境、pycharm编辑器/永久激活/翻译插件
python 零基础视频教程
Python 界面开发实战教程
Python 爬虫实战教程
Python 数据分析实战教程
python 游戏开发实战教程
Python 电子书100本
Python 学习路线规划
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!