背景
unordered_set是C++STL基本模板库中的一个常用的库。其内部原理也是一个哈希表hashmap,同时插入相同的值是没有效果的,只记录不同的值。
基本用法
1. 引入头文件
#include<unordered_set>
2. 初始化unordered_set
格式:unordered_set<type>set;
初始化了一个数据类型为type的集合set。
// 定义一个名为set的集合
unordered_set<int>set;
3. 向set集合中插入元素
格式:set.insert(number);
向集合中插入数字number。
set.insert(1); //向set集合中插入元素1
set.insert(3); //向set集合中插入元素3
set.insert(5); //向set集合中插入元素5
set.insert(4); //向set集合中插入元素4
set.insert(3); //向set集合中插入元素3
4. 查找set集合中的值
格式:if (set.find(key) != set.end()){}
if (set.find(1) != set.end())
{
cout << "找到1啦!" << endl; //输出:找到1啦!
}
if (set.find(2) != set.end())
{
cout << "找到2啦!" << endl;
}
else
{
cout << "没有找到2!" << endl; //输出:没有找到2!
}
5. count()函数用法
格式:set.count(key)
若key值在set集合中则输出1,否则输出0.
if (set.count(5) == 1)
{
cout << "set里面有5!" << endl; //输出:set里面有5!
}
if (set.count(5) == 0)
{
cout << "set里面没有5!" << endl;
}