set和map容器类似,只不过set只有键,没有值,键是不可以重复的,其他的一些操作时类似的。

#include <iostream>
#include <vector>
#include <set> //使用set容器的头文件

using namespace std;

int main()
{
	vector<int> i_vector(10,5);
	//size函数返回元素的个数
	cout<<"vector size:"<<i_vector.size()<<endl;

	//用迭代器标记的一段范围进行初始化
	set<int> i_set(i_vector.begin(),i_vector.end());

	//set中的元素是不可以重复的
	cout<<"set size:"<<i_set.size()<<endl;
	//使用迭代器进行遍历
	for(set<int>::const_iterator  iter= i_set.begin();iter != i_set.end();iter++)
	{
		cout<<*iter<<endl;
	}

	//插入某个元素
	i_set.insert(0);
	i_set.insert(4);
	i_set.insert(1);
	//遍历,默认的顺序是升序
	for(set<int>::const_iterator  iter= i_set.begin();iter != i_set.end();iter++)
	{
		cout<<*iter<<" ";
	}
	cout<<endl;

	//find返回的是一个迭代器,里边传入的值就是容器中的元素值,返回的是指向这个值的迭代器
	set<int>::const_iterator ret = i_set.find(4);
	cout<<*ret<<endl;

	//容器中值为3的元素的个数是0
	int count = i_set.count(3);
	cout<<count<<endl;

	//删除元素值为3的元素,返回删除成功的个数
	int i = i_set.erase(3);
	cout<<i<<endl;
	return 0;
}

关联容器set