在C++中,如果要合并多个vector并去除重复元素,可以使用以下两种方法:
方法1:使用set
可以使用set容器来合并多个vector并去除重复元素。以下是示例代码:
#include <iostream>
#include <vector>
#include <set>
using namespace std;
int main() {
vector<int> v1 = {1, 2, 3};
vector<int> v2 = {2, 3, 4};
vector<int> v3 = {3, 4, 5};
set<int> s;
for (auto v : {v1, v2, v3}) {
s.insert(v.begin(), v.end());
}
vector<int> result(s.begin(), s.end());
for (auto i : result) {
cout << i << " ";
}
cout << endl;
return 0;
}
在上面的示例中,我们首先定义了三个vectorv1
、v2
和v3
,分别包含不同的元素。然后,我们使用set容器来合并这三个vector,并去除重复元素。最后,我们将set容器中的元素复制到一个新的vector中,并输出结果。
方法2:使用sort和unique
可以使用sort和unique算法来合并多个vector并去除重复元素。以下是示例代码:
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
vector<int> v1 = {1, 2, 3};
vector<int> v2 = {2, 3, 4};
vector<int> v3 = {3, 4, 5};
vector<int> result;
for (auto v : {v1, v2, v3}) {
result.insert(result.end(), v.begin(), v.end());
}
sort(result.begin(), result.end());
auto it = unique(result.begin(), result.end());
result.erase(it, result.end());
for (auto i : result) {
cout << i << " ";
}
cout << endl;
return 0;
}
在上面的示例中,我们首先定义了三个vectorv1
、v2
和v3
,分别包含不同的元素。然后,我们使用insert算法将这三个vector合并到一个新的vector中。接着,我们使用sort算法对新的vector进行排序,并使用unique算法去除重复元素。最后,我们输出结果。
结论
在本文中,我们介绍了两种方法来合并多个vector并去除重复元素:使用set容器和使用sort和unique算法。这些方法都可以用于合并多个vector,并去除其中的重复元素。同时,本文还提供了两个示例,演示如何使用这些方法进行vector合并和去重。