set 容器的入门

  • unordered_set:另外头文件,乱序排放,使用哈希表(便于查找)

  • multiset:可以重复存在的集合。用count()读取个数

创建set的几种方式

  1. 常规

set<数据类型>s;
  1. 声明并初始化

set<数据类型>s{value1,value2}; 

set的特性

  1. set 容器内没有重复元素
  2. 每次insert的时候,都会自动排好序。(默认升序)
  3. 键值对, key 和值 value 相同。
  4. 修改值出现的问题( 删除 再 输入 )

常用函数

函数 说明
insert() 向 set 容器中插入元素。
erase() 删除 set 容器中存储的元素。
empty() 若容器为空,则返回 true;否则 false。
begin() 返回指向容器中第一个(排好序的第一个)元素的迭代器
end() 返回指向容器最后一个元素(已排好序的最后一个)所在位置后一个位置的双向迭代器
rbegin() 返回一个逆向迭代器,指向逆向迭代的第一个元素
rend() 返回一个逆向迭代器,指向逆向迭代的最后一个元素的下一个位置
find(val) 查找值为 val 的元素的,如果找到返回该元素的迭代器,如果没找到返回end()
count(val) 查找值为 val 的元素的个数,该函数的返回值最大为 1。
lower_bound(val) 返回元素值为val 的第一个可安插位置,也就是元素值 >= val 的第一个元素位置
upper_bound(val) 返回元素值为val 的最后一个可安插位置,也就是元素值 > val 的第一个元素位置
clear() 移除所有元素,将容器清空

erase 的相关使用

种类名称 作用(set,map一样)
erase(val) 删除与val 相等的所有元素,返回被移除的元素个数。
erase(pos) 移除迭代器pos 所指位置元素,无返回值。
erase(beg,end) 移除区间 [beg,end) 所有元素,无返回值。

自定义set排序规则

struct intComp {
bool operator() (const int& lhs, const int& rhs) const {
return lhs > rhs;
}
};
 

制作:BDT20040

最新文章

  1. CC2540串口输出调试功能
  2. WebAPI返回数据类型解惑
  3. oracle job草稿
  4. swift 开篇
  5. MVC 弹出提示框
  6. POJ 1734 求最小环路径 拓展Floyd
  7. hdu 2471 简单DP
  8. Longest Palindromic Substring - 字符串中最长的回文字段
  9. 揭秘 HashMap 实现原理(Java 8)
  10. 雷林鹏分享:jQuery EasyUI 数据网格 - 动态改变列
  11. centos7下Etcd3集群搭建
  12. c++ 右值引用,move关键字
  13. Codeforces 931F - Teodor is not a liar!
  14. windows上安装Anaconda和python
  15. struts1(一)流程分析
  16. 写一个限制上传文件大小和格式的jQuery插件
  17. oozie 重新提交作业
  18. Python中通过csv的writerow输出的内容有多余的空行
  19. 新手C#SQLServer在程序里实现语句的学习2018.08.12
  20. Codeforces Round #376 (Div. 2) D. 80-th Level Archeology —— 差分法 + 线段扫描法

热门文章

  1. 手把手教你打造一个纯CSS图标库
  2. HTML+CSS基础课程-imooc-【更新完毕】
  3. 在linux环境下安装VMtools(成功)
  4. Python窗口学习之给按钮美化
  5. java中如何能知道应该捕获什么样的异常?举例
  6. 搭建 LNMP 环境
  7. Linux上部署net6应用
  8. SpringMVC-设置编码过滤器
  9. DFS与N皇后问题
  10. Python 每日提醒写博客小程序,使用pywin32、bs4库