unordered_set 容器,直译为[无序set容器]。
unordered_set容器和set容器很像,唯一的区别就在于 set 容器会自行对存储的数据进行排序,而unordered_set容器不会。
unordered_set的几个特性:
?? ?1. 不再以键值对的形式存储数据,而是直接存储数据的值 ;
?? ?2. 容器内部存储的各个元素的值都互不相等,且不能被修改;
?? ?3. 不会对内部存储的数据进行排序
演示源码:
// Len_stl.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//
#include <iostream>
#include <unordered_set>
using namespace std;
int main()
{
unordered_set<int> mPair;
unordered_set<int>::iterator iter;
// 插入初始值
for (int i = 0; i < 4; i++)
{
mPair.insert(i);
}
// 遍历
for (iter = mPair.begin(); iter != mPair.end(); iter++)
{
cout << (*iter) << " 有 " << mPair.count(*iter) << "个" << endl;
}
cout << "\n\n";
// 插入重复值后遍历
mPair.insert(1);
mPair.insert(2);
for (iter = mPair.begin(); iter != mPair.end(); iter++)
{
cout << (*iter)<<" 有 "<< mPair.count(*iter) <<"个"<< endl;
}
cout << "\n\n";
// 删除第2个值后
mPair.erase(mPair.begin());
for (iter = mPair.begin(); iter != mPair.end(); iter++)
{
cout << (*iter) << " 有 " << mPair.count(*iter) << "个" << endl;
}
return 0;
}
执行结果: