题目描述
- 嘿嘿嘿,点进来的先点个赞噢
- 呃呃呃,言归正传,今天我来给大家分享一下栈的几个模板!!!
首先是预备部分
直接来看代码
#include <bits/stdc++.h>
using namespace std;
const int N = 1e8 + 10;
int a[N], t;
int main() {
int T;
scanf("%d", &T);
while (T --) {
string s;
cin >> s;
if (s == "push")
push();
else if (s == "pop")
pop();
else if (s == "empty")
empty();
else if (s == "query")
query();
else if (s == "top")
top();
}
return 0;
}
然后是push,pop,empyt,query等栈的模板
*push x
– 向栈顶插入一个数 x;
void push() {
int x;
scanf("%d", &x);
a[++ t] = x;
}
*pop
– 从栈顶弹出一个数;
void pop() {
-- t;
}
*empty
– 判断栈是否为空;
void empty() {
if (t == 0)
printf("YES\n");
else
printf("NO\n");
}
*query
– 查询栈顶元素;
void query() {
printf("%d\n", a[t]);
}
最后来看完整代码
直接上完整代码
#include <bits/stdc++.h>
using namespace std;
const int N = 1e8 + 10;
int a[N], t;
void push() {
int x;
scanf("%d", &x);
a[++ t] = x;
}
void pop() {
-- t;
}
void empty() {
if (t == 0)
printf("YES\n");
else
printf("NO\n");
}
void query() {
printf("%d\n", a[t]);
}
int main() {
int T;
scanf("%d", &T);
while (T --) {
string s;
cin >> s;
if (s == "push")
push();
else if (s == "pop")
pop();
else if (s == "empty")
empty();
else if (s == "query")
query();
}
return 0;
}
温馨提示
具体代码根据实际情况,这只是一个模板!!!
最后走别忘了给个点赞收藏关注额
预告
下一期:队列模板
别忘了准时收看Cui_zixu
的号哦:
https://www.acwing.com/user/myspace/index/252300/