【发布时间】:2015-11-06 17:49:21
【问题描述】:
我正在尝试堆叠/垂直连接二维向量。对于一维向量,我有这样的东西:
#include<iostream>
#include<vector>
using namespace std;
int main()
{
vector< vector<int> > res;//(2,vector<int>(3,0.0));
vector<int>a = {1,1,1};
vector<int>b = {6,6,6};
res.push_back(a);
res.push_back(b);
for(int i = 0; i < res.size(); i++)
{
for(int j = 0; j < res[0].size(); j++)
{
cout << res[i][j] << ",";
}
cout << endl;
}
return 0;
}
所以得到的二维向量(矩阵):
1, 1, 1,
6, 6, 6,
是向量 a 和 b 的堆叠/垂直连接版本。现在,我有 a 和 b 是 2D 向量而不是 1D 向量:
vector< vector<int> >a = {{1,2,3},
{2,2,2}};
vector< vector<int> >b = {{4,5,6},
{6,6,6}};
我将如何将它们堆叠成一个大小为 4 x 3 的结果矩阵:
1, 2, 3,
2, 2, 2,
4, 5, 6,
6, 6, 6,
因为,一个简单的 push_back() 是不行的。
【问题讨论】:
标签: c++ vector stack 2d concatenation