📅  最后修改于: 2023-12-03 15:08:51.863000             🧑  作者: Mango
在C++中,使用STL(标准模板库)可以方便的使用向量(vector)和集合(set),本文将介绍如何将向量转换为set。
向量是一个动态数组,可以使用下标访问,也可以在其末尾添加或删除元素。集合是一个容器,其中元素不重复,可以快速插入或删除元素,并支持一些集合操作,如并集、交集和差集。
#include <iostream>
#include <vector>
#include <set>
using namespace std;
int main(){
vector<int> nums = {1, 3, 5, 3, 7, 8, 5};
set<int> s;
for (auto num : nums)
s.insert(num);
for (auto x : s)
cout << x << " ";
return 0;
}
输出结果为:
1 3 5 7 8
在上述代码中,首先定义了一个包含重复元素的向量 nums。然后,定义了一个空集合 s。接着,通过遍历 nums 将元素逐个添加到集合 s 中。最后,遍历输出新集合 s。
#include <iostream>
#include <vector>
#include <set>
using namespace std;
int main(){
vector<int> nums = {1, 3, 5, 3, 7, 8, 5};
set<int> s(nums.begin(), nums.end());
for (auto x : s)
cout << x << " ";
return 0;
}
输出结果为:
1 3 5 7 8
在上述代码中,创建了一个向量 nums,并将其作为参数传递给 set 的构造函数,该构造函数将创建一个与向量等效的集合 s。最后,遍历输出新集合 s。
本文介绍了两种将向量转换为集合的方法,在实际应用中可以根据情况选择使用。需要注意的是,集合中不允许存在重复元素,所以将向量转换为集合时需要考虑去除重复元素。