set
特点:
- set是STL中一种标准关联容器。它底层使用平衡的搜索树——红黑树实现。
- 元素唯一性,multiset元素可重复。
- 默认情况下会对元素自动进行升序排列。
普通操作:
- insert();
- s.erase() 删除一个元素 s.clear() 删除set容器中的所有的元素
- 修改: 不能直接修改容器内数据,所以只能删除某元素再插入要修改的数值
- s.find() 查找一个元素,如果容器中不存在该元素,返回值等于s.end()
常见操作:
- s.lower_bound() 返回第一个大于或等于给定关键值的元素
- s.upper_bound() 返回第一个大于给定关键值的元素
- s.equal_range() 返回一对定位器,分别表示 第一个大于或等于给定关键值的元素 和 第一个大于给定关键值 的元素,这个返回值是一个pair类型,如果这一对定位器中哪个返回失败,就会等于 s.end()
- 判断元素是否在set中 & 判断set是否为空 。 s.count(1) & s.empty()
- 自定义比较函数:
struct cmp{ bool operator () (const int &a, const int &b){
return a > b;
} ;
set<int, cmp>s; //自定义排序函数构造set

浙公网安备 33010602011771号