C/C++ STL提供的关联式容器之unordered_set

unordered_set 容器,直译为[无序set容器]。
unordered_set容器和set容器很像,唯一的区别就在于 set 容器会自行对存储的数据进行排序,而unordered_set容器不会。

unordered_set的几个特性:

    1. 不再以键值对的形式存储数据,而是直接存储数据的值 ;
    2. 容器内部存储的各个元素的值都互不相等,且不能被修改;
    3. 不会对内部存储的数据进行排序

演示源码:

// Len_stl.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include 
#include 
using namespace std;


int main()
{

	unordered_set mPair;
	unordered_set::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;
}

执行结果:

C/C++ STL提供的关联式容器之unordered_set_第1张图片

你可能感兴趣的:(C/C++学习,c++,开发语言)