/*直接构造并插入元素*/
std::pair<std::unordered_set<int>::iterator,bool> pair1 = unordersetTest.emplace(6);
std::cout <<"emplace result is "<<std::boolalpha<<pair1.second<<std::endl;
std::cout <<"pair1 iterator value is "<<*pair1.first<<std::endl;/*使用移动语句插入元素*/int iValue =8;
std::pair<std::unordered_set<int>::iterator,bool> pair3 = unordersetTest.emplace(std::move(iValue));
std::cout <<"emplace result is "<<std::boolalpha<<pair3.second<<std::endl;
std::cout <<"pair3 iterator value is "<<*pair3.first<<std::endl;/*直接构造并在指定位置插入元素*/
std::unordered_set<int>::iterator itr1 = unordersetTest.emplace_hint(++unordersetTest.begin(),1);
std::cout <<"itr1 value is "<<*itr1;/*删除单个元素*/
std::unordered_set<int>::iterator itr2 = unordersetTest.erase(unordersetTest.begin());
std::cout <<"itr2 alue is "<<*itr2<<std::endl;/*删除指定范围的元素*/
std::unordered_set<int>::iterator itr3 = unordersetTest.erase(unordersetTest.begin(),++unordersetTest.begin());
std::cout <<"itr3 value is "<<*itr3<<std::endl;/*根据键值删除元素*/int iCount = unorderset1.erase(1);
std::cout <<"erace element count is "<<iCount<<std::endl;/*清空元素*/
unordersetTest.clear();/*插入元素,返回键值对*/
std::pair<std::unordered_set<int>::iterator,bool> pair4 = unordersetTest.insert(3);
std::cout <<"insert result is "<<std::boolalpha<<pair4.second<<std::endl;
std::cout <<"pair4 iterator value is "<<*pair4.first<<std::endl;/*使用移动语句插入元素,返回键值对*/int iValue2 =7;
std::pair<std::unordered_set<int>::iterator,int> pair6 = unordersetTest.insert(std::move(iValue2));
std::cout <<"insert result is "<<std::boolalpha<<pair6.second<<std::endl;
std::cout <<"pair6 iterator value is "<<*pair6.first<<std::endl;/*插入元素,返回迭代器*/
std::unordered_set<int>::iterator itr4 = unordersetTest.insert(unordersetTest.begin(),9);
std::cout <<"insert value is "<<*itr4<<std::endl;/*使用移动语句插入元素,返回迭代器*/int iValue1 =2;
std::unordered_set<int>::iterator itr5 = unordersetTest.insert(unordersetTest.begin(),std::move(iValue1));
std::cout <<"insert value is "<<*itr5<<std::endl;/*初始化列表插入,无返回值*/
unordersetTest.insert({
5,7,6});/*使用迭代器指定范围插入元素,无返回值*/
std::unordered_set<int>unorderset9({
11,12});
unordersetTest.insert(unorderset9.begin(),unorderset9.end());
元素查找
函数
返回值
功能
count()
std::size_t
返回给定键对应元素的数量
find()
迭代器
查找指定键对应元素的位置,未找到则返回end()
equal_range()
键值对
获取符合给定元素的范围,不存在的情况下键值对都为end()
/*判断某个键对应值的数量*/
std::cout<<unordersetTest.count(3)<<std::endl;/*查找指定键的元素所在的位置*/
std::unordered_set<int>::iterator itr6 = unordersetTest.find(4);
std::cout<<"find value is "<<*itr6<<std::endl;/*返回给定键的范围*/
std::pair<std::unordered_set<int>::iterator,std::unordered_set<int>::iterator> ret7 = unorderset1.equal_range(1);if(unorderset1.end()!= ret7.first){
std::cout<<"first value is "<<*ret7.first<<std::endl;}if(unorderset1.end()!= ret7.second){
std::cout<<"second value is "<<*ret7.second<<std::endl;}