set是与集合相关的容器,STL为我们提供了set的实现,在编程题中遇见集合问题直接调用是十分方便

SET

set模版类的定义在头文件<set>中。

定义set对象的示例代码如下:

set<int> s;
set<double> ss;

set的基本操作:

(set默认从小到大排序)

s.begin()       //  返回指向第一个元素的迭代器
s.clear() // 清除所有元素
s.count() // 返回某个值元素的个数
s.empty() // 如果集合为空,返回true(真)
s.end() // 返回指向最后一个元素之后的迭代器,不是最后一个元素
s.equal_range() // 返回集合中与给定值相等的上下限的两个迭代器
s.erase() // 删除集合中的元素
s.find() // 返回一个指向被查找到元素的迭代器
s.get_allocator() // 返回集合的分配器
s.insert() // 在集合中插入元素
s.lower_bound() // 返回指向大于(或等于)某值的第一个元素的迭代器
s.key_comp() // 返回一个用于元素间值比较的函数
s.max_size() // 返回集合能容纳的元素的最大限值
s.rbegin() // 返回指向集合中最后一个元素的反向迭代器
s.rend() // 返回指向集合中第一个元素的反向迭代器
s.size() // 集合中元素的数目
s.swap() // 交换两个集合变量
s.upper_bound() // 返回大于某个值元素的迭代器
s.value_comp() // 返回一个用于比较元素间的值的函数

multiset

在<set>头文件中,还定义了另一个非常实用的模版类multiset(多重集合)。多重集合与集合的区别在于集合中不能存在相同元素,而多重集合中可以存在。

定义multiset对象的示例代码如下:

multiset<int> s;
multiset<double> ss;

multiset和set的基本操作相似,需要注意的是,集合的count()能返回0(无)或者1(有),而多重集合是有多少个返回多少个。

最新文章

  1. 一个类似宣传的H5页面
  2. SDK截图(四):压缩位图实例
  3. Cannot change version of project facet Dynamic Web Module to 3.0
  4. 分布式文件系统FastDFS设计原理(转)
  5. 安装mysql数据库中的技巧、错误排查以及实用命令(持续更新)
  6. 问题解决——使用CriticalSection后 0xXXXXXXXX处最可能的异常: 0xC0000005: 写入位置 0x00000014 时发生访问冲突
  7. Windows下memcache安装使用
  8. sh脚本执行Java程序
  9. static用法详解
  10. ubuntu 12.04 lts安装golang并设置vim语法高亮
  11. svn项目冲突时显示无法加载项目的解决方法
  12. MYSQL 的 3 类数据类型
  13. 写一个将当前页面 URL 中的 get 参数解析成一个对象的方法。
  14. hdu4185二分图匹配
  15. HTML学习笔记 CSS背景样式案例 第六节 (原创) 参考使用表
  16. [].slice.call(arguments,1)
  17. 冲刺NO.5
  18. java获取一年的周数和间隔天数
  19. Vue2.x源码学习笔记-源码目录结构整理
  20. BZOJ2069 POI2004ZAW(最短路)

热门文章

  1. Linux下汇编语言学习笔记10 ---
  2. 2018牛客网暑期ACM多校训练营(第一场)D图同构,J
  3. Educational Codeforces Round 45 (Rated for Div. 2) C、D
  4. POJ 1182_食物链
  5. Delphi:校验手机号及身份证号
  6. mybatis返回list很智能很简答的,只需要配置resultmap进行类型转换,你dao方法直接写返回值list&lt;对应的object&gt;就行了啊
  7. 采用jmeter测试dubbo服务接口
  8. [python]pycharm画图插件matplotlib、numpy、scipy的下载与安装
  9. 任务调度(三)——Timer的替代品ScheduledExecutorService简单介绍
  10. A星算法(Java实现)