利用顺序结构实现的一个栈,因栈大小固定,所以内存存在浪费,可利用线性结构实现可变空间
#include
using namespace std;
int res[100001];
int n;
int top = -1;
void push(int val) {
top++;
res[top] = val;
}
void top1() {
if (top == -1) {
printf("error\n");
return;
}
printf("%d\n", res[top]);
}
void pop() {
if (top == -1) {
printf("error\n");
return;
}
printf("%d\n", res[top]);
top--;
}
int main() {
scanf("%d\n", &n);
for (int i = 0; i < n; i++) {
string s;
getline(cin, s);
int index = s.find(' ');
if (index == -1) {
if (s == "top") {
top1();
}else {
pop();
}
}else{
string opr = s.substr(0, index);
int x = atoi((s.substr(index + 1 , s.size()).c_str()));
push(x);
}
}
return 0;
}