个人备案号 可以做游戏网站吗,南阳企业网站排名优化,网站description,做网站和推广公司题目链接#xff1a;
堆栈的使用_牛客题霸_牛客网
描述 堆栈是一种基本的数据结构。堆栈具有两种基本操作方式#xff0c;push 和 pop。其中 push一个值会将其压入栈顶#xff0c;而 pop 则会将栈顶的值弹出。现在我们就来验证一下堆栈的使用。
输入描述#xff1a; 对于…题目链接
堆栈的使用_牛客题霸_牛客网
描述 堆栈是一种基本的数据结构。堆栈具有两种基本操作方式push 和 pop。其中 push一个值会将其压入栈顶而 pop 则会将栈顶的值弹出。现在我们就来验证一下堆栈的使用。
输入描述 对于每组测试数据第一行是一个正整数 n0 n 10000。而后的 n 行每行的第一个字符可能是P或者O或者A如果是P后面还会跟着一个整数表示把这个数据压入堆栈如果是O表示将栈顶的值 pop 出来如果堆栈中没有元素时忽略本次操作如果是A表示询问当前栈顶的值如果当时栈为空则输出E。堆栈开始为空。
输出描述 对于每组测试数据根据其中的命令字符来处理堆栈并对所有的A操作输出当时栈顶的值每个占据一行如果当时栈为空则输出E。
示例1
输入
3
A
P 5
A
4
P 3
P 6
O
A
输出
E
5
3
源代码
#includeiostream
#includestack
using namespace std;//习题5.1 堆栈的使用
int main()
{int n;while (cin n) {stackint myStack;for (int i 0; i n; i) {char s;cin s;//cout s: s endl;if (s P) {int temp 0;cin temp;myStack.push(temp);}else if (s O) {if (!myStack.empty()) {myStack.pop();}}else if (s A){if (!myStack.empty()) {cout myStack.top() endl;}else {cout E endl;}}}}return 0;
}提交结果