0

我试图在某些条件下将两个 2D 向量(向量的向量)连接(合并)到单个 2D 向量。假设我有向量 v1 和 v2 的 2 个向量。我想创建一个由 v1 和 v2 组成的向量 v3 的新向量。

如果 v1 的每行的最后一个元素包含一个整数值 A & V2 的每行的第一个元素包含一个整数值 B ,则它们应该合并为 v3 的新行。或相反亦然。

  v1    v2      v3
---A    B**   ---AB**
---B    A**   ---BA**

这是我编写的一段 C++ 代码,但不幸的是它不起作用。你能检查一下代码吗,有什么问题。

vector <vector <> > v1;
vector <vector <> > v2;
vector<vector<int> >::iterator it1,it2;
int A,B;

for (it1 = v1.begin(); it1 != v1.end(); it1++)
{
    for (it2 = v2.begin(); it2 != v2.end(); it2++)
    {
        vector<int>::iterator it6,it7;
        it6=it1->end();
        it7=it2->begin();

        if (*it6 == A && *it7 == B)
        {
            vector<int> v3(it1->begin(),it1->end());
            v3.insert(v3.end(),it2->begin(),it2->end());    
        }
        else if (*it6 == B && *it7 == A)
        {
            vector<int> v3(it1->begin(),it1->end());
            v3.insert(v3.end(),it2->begin(),it2->end());               
        }
    }
}
4

0 回答 0