算法介绍
展示一种先进后出的容器。
STL 给我们提供了一个容器—— stack。
这个容器是实现了一个栈的操作,有以下几种操作 :
1.s.push:向栈中加入元素。
2.s.pop:栈顶出栈。
3.s.empty:判断栈是否为空。
4.s.size:栈内元素个数。
正确性证明
还用证明?
时间复杂度
。
#include <bits/stdc++.h>
using namespace std;
#define int unsigned long long
char op[10];
int x, T, cas;
signed main() {
stack<int> s;
scanf("%llu", &T);
while (T--) {
scanf("%s", op);
if (op[0] == 'p' && op[1] == 'u') {
scanf("%llu", &x);
s.push(x);
} else if (op[0] == 'p' && op[1] == 'o') {
if (s.empty())
puts("Empty");
else
s.pop();
} else if (op[0] == 'q') {
if (s.empty())
puts("Anguei!");
else
printf("%llu\n", s.top());
} else if (op[0] == 's') {
printf("%llu\n", (long long)s.size());
}
}
return 0;
}
暂无评论