set

特点:

  1.    set是STL中一种标准关联容器。它底层使用平衡的搜索树——红黑树实现。
  2.    元素唯一性,multiset元素可重复。
  3.    默认情况下会对元素自动进行升序排列。

普通操作:

  1.    insert();
  2.   s.erase() 删除一个元素         s.clear() 删除set容器中的所有的元素
  3.   修改: 不能直接修改容器内数据,所以只能删除某元素再插入要修改的数值
  4.   s.find() 查找一个元素,如果容器中不存在该元素,返回值等于s.end()

常见操作:

  1.     s.lower_bound()      返回第一个大于或等于给定关键值的元素
  2.     s.upper_bound()     返回第一个大于给定关键值的元素
  3.     s.equal_range()      返回一对定位器,分别表示 第一个大于或等于给定关键值的元素 和 第一个大于给定关键值 的元素,这个返回值是一个pair类型,如果这一对定位器中哪个返回失败,就会等于        s.end()
  4.    判断元素是否在set中 & 判断set是否为空 。                   s.count(1)     &        s.empty()
  5.    自定义比较函数: 

              struct cmp{ bool operator () (const int &a, const int &b){

                  return a > b;

              } ; 

             set<int, cmp>s; //自定义排序函数构造set

posted @ 2018-05-03 15:24  WorldsCollide  阅读(21)  评论(0)    收藏  举报