怎么将栈中的数据存储到二维数组
时间: 2024-05-01 15:23:04 浏览: 150
将栈中的数据存储到二维数组需要先确定二维数组的大小,然后按照一定的规则将栈中的数据依次存储到二维数组中。
假设栈中有n个元素,需要将它们存储到一个m行k列的二维数组中,可以按照以下步骤进行:
1. 计算出每行可以存储的元素个数,即:k = n / m;
2. 创建一个m行k列的二维数组;
3. 依次将栈中的元素弹出,并按照规则存储到二维数组中,规则可以根据实际需求来定,例如从左到右、从上到下等。
下面是一个示例代码,展示了将栈中的元素存储到二维数组中的方法:
```c++
#include <iostream>
#include <stack>
using namespace std;
int main() {
stack<int> s;
s.push(1);
s.push(2);
s.push(3);
s.push(4);
s.push(5);
s.push(6);
int n = s.size();
int m = 2;
int k = n / m;
int arr[m][k];
for (int i = 0; i < m; i++) {
for (int j = 0; j < k; j++) {
arr[i][j] = s.top();
s.pop();
}
}
for (int i = 0; i < m; i++) {
for (int j = 0; j < k; j++) {
cout << arr[i][j] << " ";
}
cout << endl;
}
return 0;
}
```
运行结果为:
```
6 5
4 3
2 1
```
阅读全文