
1.1 定义及初始化🍗
下面列出常用的初始化方式
#include <unordered_set>    
#include <iostream>    
using namespace std;    //输出s中的所有元素    
template<typename T>    
void Show(const T& s)    
{for (auto& x : s)    cout << x << " ";    cout << endl;    
}int main()    
{unordered_set<int>s1;//定义一个空的无序set    unordered_set<int>s2{5,5,3,9,35,8,21,4};//通过列表创建无序setunordered_multiset<int>s3{5, 5, 3, 9, 35, 8, 21, 4};//通过列表创建无序multisetunordered_multiset<int>s4{s2.begin(), s2.end()};//通过迭代器区间创建无序multisetunordered_multiset<int>s5 = s3;//通过s3构造s5    cout << "s1:"; Show(s1);    cout << "s2:"; Show(s2);    cout << "s3:"; Show(s3);    cout << "s4:"; Show(s4);    cout << "s5:"; Show(s5);    return 0;    
}
说明:
 s2不能存放相同的元素,s3可以存放相同的元素。
 不能对数据的存放顺序做任何假设。初始化的顺序和输出的顺序没有任何关联。特别是s5和s3的顺序也不相同。
1.2 添加或删除元素🍗
通过insert函数插入数据。通过erase删除元素。下面示例演示基本用法,insert和erase更详细的用法请参考后面函数详细介绍。
//输出s中的所有元素
template<typename T>    
void Show(const T& s)    
{for (auto& x : s)    cout << x << " ";    cout << endl;    
}int main()    
{vector<int>v{9, 12, 34, 56}; //创建一个向量v    unordered_set<int>s1;//定义一个空的无序set    s1.insert(3);//插入当个元素    s1.insert({5,2,1,9});//插入一个列表(多个元素)    s1.insert(v.begin(),v.end());//插入一个迭代器区间(多个元素)    cout << "s1:"; Show(s1);    s1.erase(1);//删除元素1    cout << "删除1后" << endl;    cout << "s1:"; Show(s1);    return 0;       
}
1.3 常用成员函数 🍗
下面列举unordered_set和unordered_multiset对象常用的成员函数
 
本篇完!🍗