我试图在某些条件下将两个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());
}
}
}