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