给定一个初始为空的栈和一系列进栈、出栈操作,请编写程序输出经过这些操作后栈的元素。栈的元素值均为整数。
时间: 2023-10-18 10:14:44 浏览: 197
可以使用数组模拟栈的操作。每次进栈就将元素添加到数组的最后一个位置,出栈就将数组的最后一个元素弹出。最后数组中剩余的元素就是栈中的元素。
具体实现可以参考以下代码:
```
#include <iostream>
using namespace std;
const int MAXN = 1000;
int stack[MAXN]; // 栈
int top = -1; // 栈顶指针
int main() {
int n;
cin >> n;
while (n--) {
string op;
cin >> op;
if (op == "push") {
int val;
cin >> val;
stack[++top] = val;
} else if (op == "pop") {
if (top >= 0) {
top--;
}
}
}
for (int i = 0; i <= top; i++) {
cout << stack[i] << " ";
}
cout << endl;
return 0;
}
```
输入格式:
第一行一个整数 n,表示操作次数。
接下来 n 行,每行是一个操作,格式为 "push val" 或 "pop",其中 val 是一个整数。
输出格式:
输出经过这些操作后栈的元素,每个元素之间用一个空格隔开。
阅读全文