828. 模拟栈

Posted 幽殇默

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了828. 模拟栈相关的知识,希望对你有一定的参考价值。

在这里插入图片描述
https://www.acwing.com/problem/content/description/830/
tt表示的是栈顶

#include<cstdio>
#include<iostream>
using namespace std;
const int N=1e5+10;
int s[N],tt;
int main(void)
{
	int m; cin>>m;
	while(m--)
	{
		string op; cin>>op;
		if(op=="push")
		{
			int x; cin>>x;
			s[++tt]=x;
		}
		if(op=="pop")
		{
			tt--; 
		}
		if(op=="empty")
		{
			if(tt==0) cout<<"YES"<<endl;
			else cout<<"NO"<<endl;
		}
		if(op=="query") cout<<s[tt]<<endl;
	}
	return 0;
}

直接用STL里的栈

#include<cstdio>
#include<stack>
#include<iostream>
using namespace std;
int m,x;
stack<int> st;
int main(void)
{
    cin>>m;
    while(m--)
    {
        string op; cin>>op;
        if(op=="push")
        {
            cin>>x;
            st.push(x);
        }
        if(op=="pop") st.pop();
        if(op=="empty")
        {
            if(st.empty()) cout<<"YES"<<endl;
            else cout<<"NO"<<endl;
        }
        if(op=="query") cout<<st.top()<<endl;;
    }
    return 0;
}

以上是关于828. 模拟栈的主要内容,如果未能解决你的问题,请参考以下文章

828. 模拟栈

AcWing基础算法课Level-2 第二讲 数据结构

6.828操作系统lab1

Codeforces_828

改良之前写的模拟栈代码

全栈编程系列SpringBoot整合Shiro(含KickoutSessionControlFilter并发在线人数控制以及不生效问题配置启动异常No SecurityManager...)(代码片段