用C++将一组输入数据连续压入栈,所有元素都入栈后,再连续的将栈中的所有元素依此出栈,得到和原数据序列排列相反的一组数据
时间: 2024-02-21 20:01:03 浏览: 72
用C++实现栈的创建、输出、入栈、出栈
5星 · 资源好评率100%
可以使用STL中的stack来实现。具体的思路是,首先将所有的输入数据压入栈中,然后依次将栈中的元素出栈并放入一个数组中,最终得到的数组就是原数据序列排列相反的一组数据。
下面是示例代码:
```c++
#include <iostream>
#include <stack>
using namespace std;
const int MAXN = 1000;
int main() {
stack<int> s;
int n, a[MAXN], i = 0;
// 依次将输入数据压入栈中
cin >> n;
while (n--) {
int x;
cin >> x;
s.push(x);
}
// 依次将栈中元素出栈并放入数组中
while (!s.empty()) {
a[i++] = s.top();
s.pop();
}
// 输出得到的数组
for (int j = 0; j < i; j++) {
cout << a[j] << " ";
}
cout << endl;
return 0;
}
```
例如,输入数据为 1 2 3 4 5,那么输出的数据就是 5 4 3 2 1。
阅读全文