如何组合两行矢量向量?

问题描述 投票:1回答:1

我试图将矢量向量附加到另一个向量的矢量沿着行,像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;
}
c++ algorithm stdvector
1个回答
1
投票

你想用gridTne [0](第一个vect的第一个元素)和gridTwo [0](第二个vect的第一个元素)和一些像其他元素的那个一样吗?如果回答是肯定的,你可以尝试这样的事情:

   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() );
      }
   }
© www.soinside.com 2019 - 2024. All rights reserved.