网站服务器建设,商城网站系统建设,企查查企业信用查询官网,下好的字体怎么导入wordpress实现一个栈#xff0c;栈初始为空#xff0c;支持四种操作#xff1a; push x – 向栈顶插入一个数 x#xff1b; pop – 从栈顶弹出一个数#xff1b; empty – 判断栈是否为空#xff1b; query – 查询栈顶元素。
现在要对栈进行 M 个操作#xff0c;其中的每个…实现一个栈栈初始为空支持四种操作 push x – 向栈顶插入一个数 x pop – 从栈顶弹出一个数 empty – 判断栈是否为空 query – 查询栈顶元素。
现在要对栈进行 M 个操作其中的每个操作 3和操作 4 都要输出相应的结果。 #include iostream
#include algorithm
#include cstring
using namespace std;
const int N 100010;
int stk[N],tt;int main()
{tt 0;//一直表示栈顶元素 每push一个元素 tt1 此时tt1就是栈顶int m;cinm;while(m--){string op;cinop;int x;if(op push){cinx;stk[tt] x;//入栈 tt1 tt1是栈顶}else if(op pop){tt--;//如果一开始tt5 则stk[5]是栈顶元素 pop一下 stk[4]变成栈顶元素 // tt-1 后面有入栈push的话 stk[5]原有的值正好被取代}else if(op empty){cout(tt ? NO : YES)endl;// 这里代表 如果tt不是0 那就是no非空 tt是0 就是yes空}else{coutstk[tt]endl;}}return 0;
}
输入样例
10
push 5
query
push 6
pop
query
pop
empty
push 4
query
empty
输出样例
5
5
YES
4
NO具体模板和算法解释详情见Acwing算法基础课活动 - AcWing