c++模拟栈

#include<iostream>
#include<stack>   //用到栈 
#include<string> //用到字符 
using namespace std;
int T,n;
string t;
int main(){
    ios::sync_with_stdio(false);       //提高输出效率,具体可百度 
    cin.tie(0);                        //与上行是一个整体 
    for(cin>>T;T;--T){                //输入T,代表有T组数据 
        stack<unsigned long long int>s;  /*构建栈。unsigned long long int是无符号长整型变量,
                                        是int整型变量中的一类 因为题目的数据比较大所以才用
                                        这个不可以放到 for T的外面,因为每一次数据都不是同一个栈 */
    for(cin>>n;n;--n){
        cin>>t;                        //直接以t来代表输入的操作 
        if(t=="push"){                 //记得是双引号 
            unsigned long long int x;       //x是属于栈里边的元素,也要unsigned long long int
            cin>>x;
            s.push(x);                   //入栈函数 
        }
        else if(t=="pop"){             
            if(s.empty()) cout<<"Empty\n";        //如果栈空,用是.empty()
            else s.pop();                  //出栈函数 
        }
        else if(t=="query"){            // “输出栈顶元素”函数 
            if(s.empty()) cout<<"Anguei!\n";
            else cout<<s.top()<<endl;
        }
        else cout<<s.size() <<endl;      // “输出栈内元素个数"函数 
        }
    }
    return 0;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值