📅  最后修改于: 2023-12-03 15:11:38.521000             🧑  作者: Mango
在 C++ 中,可以使用不同的方法来结合两个向量。下面将介绍两种最常用的方法:
使用 insert 函数是最简单的方法之一。 insert 函数可以将一个向量直接插入到另一个向量的任意位置。下面是示例代码:
#include <iostream>
#include <vector>
using namespace std;
int main() {
vector<int> vec1 {1, 2, 3};
vector<int> vec2 {4, 5, 6};
vec1.insert(vec1.begin() + 2, vec2.begin(), vec2.end());
for (auto i : vec1) {
cout << i << " ";
}
return 0;
}
在上述代码中,我们创建了两个向量:vec1 和 vec2。然后使用 insert 函数将 vec2 插入到 vec1 中间。注意,vec1.insert 函数的第一个参数是一个迭代器,它指向将要插入元素的位置。在本例中,我们将 vec2 插入到 vec1 的第三个元素后面(即位置 2)。最后,使用循环遍历整个vec1 向量并将其打印到屏幕上。
另一种结合两个向量的方法是使用 "+" 运算符。这个方法要比使用 insert 函数稍微复杂一些,但是看起来更自然。下面是示例代码:
#include <iostream>
#include <vector>
using namespace std;
int main() {
vector<int> vec1 {1, 2, 3};
vector<int> vec2 {4, 5, 6};
vector<int> vec3 = vec1 + vec2;
for (auto i : vec3) {
cout << i << " ";
}
return 0;
}
vector<int> operator+(const vector<int>& v1, const vector<int>& v2) {
vector<int> result = v1;
result.insert(result.end(), v2.begin(), v2.end());
return result;
}
在上述代码中,我们首先定义了两个向量 vec1 和 vec2,然后使用 "+" 运算符将它们结合在一起。注意,在本例中,我们必须在全局范围内定义一个名为 operator+ 的函数,该函数将两个向量相加。这个函数采用两个 const vector
无论哪种方法,结合两个向量变得比较容易,我们可以选择适合自己的方法来处理这个问题。