C++ 如何组合向量的两个向量';这一排是什么?
我试图将一个向量附加到行中的另一个向量上,就像C++ 如何组合向量的两个向量';这一排是什么?,c++,algorithm,stdvector,C++,Algorithm,Stdvector,我试图将一个向量附加到行中的另一个向量上,就像4x4向量变成4x8(而不是8x4行/列) 我需要指示,使它4x8 Grid是一个由Square对象组成的对象 Grid CombineGrid(Grid one, Grid two) { vector<vector<Square>> gridOne = one.fields; vector<vector<Square>> gridTwo = two.fields; vector
4x4
向量变成4x8
(而不是8x4
行/列)
我需要指示,使它4x8
Grid
是一个由Square
对象组成的对象
Grid CombineGrid(Grid one, Grid two)
{
vector<vector<Square>> gridOne = one.fields;
vector<vector<Square>> gridTwo = two.fields;
vector<vector<Square>> temp;
int reqCol = one.columns + two.columns, reqRow = one.rows + one.rows;
temp = gridOne;
temp.insert(temp.end(), gridTwo.begin(), gridTwo.end());
for (const auto &row : temp)
{
for (Square x:row)
{
cout << "y" << ' ';
cout << endl;
}
}
Grid finalGrid(one.columns + two.columns, two.rows + two.rows);
finalGrid.fields = temp;
return finalGrid;
}
网格组合ID(网格一、网格二)
{
向量gridOne=一个字段;
向量gridTwo=两个字段;
向量温度;
int reqCol=1.columns+2.columns,reqRow=1.rows+1.rows;
temp=gridOne;
temp.insert(temp.end(),gridTwo.begin(),gridTwo.end());
用于(常量自动和行:临时)
{
用于(方形x:行)
{
您想将gridOne[0](第一个向量的第一个元素)与gridTwo[0](第二个向量的第一个元素)以及其他元素的类似元素连接起来吗?
如果答案是肯定的,您可以尝试以下方法:
size_t grid1Size = gridOne.size();
for (size_t i = 0; i < grid1Size; i++)
{
if(i > gridTwo.size())
{
gridTwo.push_back(gridOne[i]);
}
else
{
gridTwo[i].insert(gridTwo[i].end(), gridOne[i].begin(), gridOne[i].end() );
}
}
size\u t grid1Size=gridOne.size();
对于(大小i=0;igridTwo.size())
{
gridTwo.push_back(gridOne[i]);
}
其他的
{
gridTwo[i].insert(gridTwo[i].end(),gridOne[i].begin(),gridOne[i].end());
}
}
< /代码>如果你有一个2D网格,你可以使用很多其他的东西,而不是<代码> STD::vector < /代码>。那里有更适合的数据结构(一组矩阵库,甚至滚动你自己的数据结构可能更好)。