数组模拟栈
数组模拟栈:
值得注意的是:栈中tt从0开始
这一点区别于队列
AcWing对应题目[https://www.acwing.com/problem/content/830/]
#include<iostream>
#include<stdio.h>
using namespace std;
const int N=100010;
int skt[N],tt=0;//栈从0开始
//入栈
void push(int n)
{
skt[++tt]=n;
}
//出栈
void pop()
{
tt--;
}
//判🈳
bool empty()
{
if(tt==0)
{
return true;
}
else{
return false;
}
}
int query()//查询栈顶元素
{
return skt[tt];
}
int main()
{
int n;
scanf("%d",&n);
while(n--)
{
string str;
int num;
cin>>str;
if(str=="push")
{
scanf("%d",&num);
push(num);
}
if(str=="pop")
{
pop();
}
if(str=="empty")
{
if(empty())
{
printf("YES\n");
}
else{
printf("NO\n");
}
}
if(str=="query")
{
printf("%d\n",query());
}
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
· 提示词工程——AI应用必不可少的技术