关于黑马程序员中set容器的一些总结笔记。
//set和multiset容器
所有元素在插入时会自动被排序,set不允许
容器中有重复的元素,multiset允许容器中有
重复的元素,二者头文件都可以是<set> .
//set容器
set容器在插入数据的时候只有insert方式
set<int>s1,s2;
s1.size();//表示s1的大小
s1.empty();//判断s1是否为空
s1.swap(s2);//将s1和s2交换
s1.insert(elem) ;//在容器中插入元素
s1.clear();//清除所有元素
s1.erase(pos);//删除pos迭代器所指的元素,返回下一个元素的迭代器
erase(beg,end);//删除区间【beg,end)的所有元素,其中beg和end都是迭代器,返回下一个元素的迭代器
erase(elem);//删除容器中值为elem的元素
s1.find(key);//查找key是否存在,若存在,返回该键的元素的迭代器;若不存在,则返回set.end();
s1.count(key);//统计key的元素个数,由于set中无重复元素,故该值只能是0或1;
pair对组创建:
1.pair<type,type>p(value1,value2);
2.pair<type,type>p=make_pair(value1,value2);
访问第一个元素用p.first;访问第二个元素用p.second;
利用仿函数可以指定set容器的排序规则//存放内置数据类型
对于自定义数据类型,set必须指定排序规则才可以插入数据