1、set是 一个集合容器,其中所包含的元素是唯一的,集合中的元素按一定的顺序排列,元素插入过程按排序规则插入,所有不能再指定的位置插入。
2、简单数据的插入删除,查找
//set的理论基础是平衡二叉树
/*int main()
{
set<int> s1;//默认定义的容器里的元素从小到大排列
set<int,greater<int> >s2;//这样定义的是从大到小
for(int i=0;i<9;++i)
{
int tmp=rand();
s1.insert(tmp);//插入一个随机数 ,插入用insert,删除用erase
}
s1.insert(100);
s1.insert(100);//插入两个100,但容器里只有一个
for(set<int>::iterator it=s1.begin();it!=s1.end();it++)
{
cout<<*it<<endl;//
}
while(s1.empty())
{
s1.erase(s1.begin());//删除头部的元素
}
set<int>::iterator it;
it=s1.find(100);//查找元素为100,返回是指向此元素的迭代器
cout<<s1.count(100)<<endl; //返回容器中100的个数,只有一个
it=s1.lower_bound(100);//找出第一个小于等于100的元素的迭代器
cout<<*it<<endl;
it=s1.upper_bound(100); //查找第一个大于100的迭代