将两个2D矢量(矢量矢量)连接(合并)到单个2D矢量

时间:2013-10-20 01:41:26

标签: c++ arrays vector

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

如果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());               
        }
    }
}

0 个答案:

没有答案