栈及其操作
时间限制:1秒 内存限制:256M
【问题描述】
栈:插入元素和删除元素只能在线性表的一端进行,所以遵循“先进后出(LIFO)”原则,其中插入和删除的一端称为栈顶(top)。我们可以把栈比喻成一个箱子,只能在箱子的开口处放入和取出物体,而且是后放入的物体,会被先取出来。
【输入格式】
第 1 行一个整数 \(n\),表示有 \(n\) 条关于栈的操作,在进行任何操作之前,栈是空的。
接来的 \(n\) 行,每行一个关于S的操作,格式和含义如下:
clear:把栈置空。
empty:判断栈是否为空。
push x:把整数x插入栈顶。
pop: 栈顶元素出栈。
top:获取栈顶元素的值。
【输出格式】
若干行,对应输入中的 top , pop 和 empty 操作:
对于top操作,输出一个整数,如果这个操作失败,则输出单词error。
对于pop操作,如果这个操作失败,则输出单词error。
对于empty操作,如果栈或队列是空,则输出’empty’,否则输出’not empty’。
【输入输出样例】
Input
8
push 10
top
push 15
pop
top
clear
pop
empty
Output
10
10
error
empty
【数据限制】
\(n<20001\)
\(x\) 是 int 范围内的整数
【来源】
Mr.he