整理了一下set常用语句,参看这篇http://www.cnblogs.com/BeyondAnyTime/archive/2012/08/13/2636375.html

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

常用语句

#include<set>//包含set的头文件

set<int> p;//定义一个集合容器,不包含重复元素

multiset<int> p;//定义一个集合容器,包含重复元素

p.insert(x);//将x元素加入集合中

p.empty();//判断集合是否为空

p.clear();//清除集合中所有的元素

p.count(x)//返回集合中x的个数

p.size();//返回集合中元素的个数

p.max_size();//返回容器可能包含的元素最大个数

p.erase(x);//

分两种情况==

1

p是set型的集合,那么直接删除掉x

2

p是multiset型的集合,删掉所有与x相等的元素 但是如果集合里面有很多个x,可是只想删除其中的一个x,传递一个指向想删除掉的这个x的iterator,这时候删除的就是这个x,无返回值 详情参见这一篇----http://book.51cto.com/art/201311/419436.htm

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

set的遍历

正向遍历
set<int>::iterator it;//定义迭代器
it=p.begin();//指向集合的开头
it=p.end();//指向集合的末尾

反向遍历
set<int>::reverse_iterator it;//定义反向迭代器
it=rbegin();//返回指向集合中最后一个元素的反向迭代器
it=rend();//返回指向集合中第一个元素的反向迭代器

 1 #include<iostream>
 2 #include<set>
 3 using namespace std;
 4
 5 set<int>p;
 6
 7 int main()
 8 {
 9     p.insert(1);
10     p.insert(2);
11     p.insert(3);
12     p.insert(4);
13     p.insert(5);
14
15     for(set<int>::iterator it=p.begin();it!=p.end();++it)//正向遍历
16     cout<<*it<<" ";
17
18     for(set<int>::reverse_iterator it=p.rbegin();it!=p.rend();++it)//反向遍历
19     cout<<*it<<" ";
20 }

转载于:https://www.cnblogs.com/wuyuewoniu/p/4296248.html

STL set容器的一点总结相关推荐

  1. C++ STL set容器

    STL set容器 set set初始化 set添加.删除和访问元素 添加元素 删除元素 访问元素 set迭代器 set保存智能指针 multiset multiset初始化 multiset保存派生 ...

  2. 【读书笔记】【Effective STL】容器

    第 1 条:慎重选择容器类型. C++ 中不同的容器分类如下:[标准 or 非标准][STL or 非 STL][序列 or 关联] 标准 STL 序列容器:vector.string.deque.l ...

  3. C++STL 顺序容器操作总结(超级详细)

    文章目录 vector vector的构造函数 vector元素访问 vector容量相关 vector修改元素 deque deque构造函数 deque元素访问 deque容量相关 deque的修 ...

  4. 容器删除元素后迭代器失效_STL 4: STL之容器:选择时机,删除元素,迭代器失效...

    一. 种类: 标准STL序列容器:vector.string.deque和list. 标准STL关联容器:set.multiset.map和multimap. 非标准序列容器slist和rope.sl ...

  5. C++中STL和容器、迭代器、算法之间的关系

    自学习C++以来,一直对STL.容器.迭代器.算法甚是困惑. 参考一些资料,加上自己的理解,整理如下 如果说程序等于数据结构+算法,STL就是一个小程序库,之所以说小,是因为容器模板中常用的函数有限, ...

  6. c语言stl模板,c/c++开发分享C++ 标准模板库 STL 顺序容器详解

    c++ 标准模板库 stl 顺序容器 容器 顺序性 重复性 支持迭代器 vector 动态数组 无序 可重复 随机访问迭代器 deque 双向队列 无序 可重复 随机访问迭代器 list 双向链表 无 ...

  7. STL库容器vector at函数

    STL库容器vector at函数 v.at(n)返回v指定位置n的元素.at函数比[]运算符更加安全, 因为它不会让你去访问到越界的元素,一旦越界将会在运行时中止程序并抛出一个异常std::out_ ...

  8. [C++ STL] 各容器简单介绍

    [C++ STL] 各容器简单介绍 目录 一.什么是STL? 二.容器(Containers) 2.1 vector 2.2 deque 2.3 list 2.4 set 2.5 map 2.6 容器 ...

  9. STL Deque 容器

    STL Deque 容器 Deque简介 deque是"double-ended queue"的缩写,和vector一样都是STL的容器,deque是双 端的,而vector是单端 ...

最新文章

  1. iOS12系统应用发送普通邮实现发送
  2. 社区O2O全面遇冷,社区金融如何避免走入独特陷阱
  3. 第二节 DOM-Document对象
  4. 三次给你讲清楚Redis之Redis是个啥
  5. python 字典默认会引用 除非深拷贝
  6. C++基础::shared_ptr 编程细节(二)
  7. Sublime Text 2安装图解
  8. transform-style: preserve-3d「In CSS」
  9. 通过深度学习股价截面数据分析和预测股票价格
  10. 通过抓包来看http三次握手的具体细节
  11. 深度技术 GHOST XP 电脑城克隆版 V7.0 (NTFS/F32)
  12. 微秒, 纳秒,毫秒, 时间单位换算[转]
  13. 关系图谱服务的技术方案设计
  14. 具有遗传性疾病和性状的遗传位点分析
  15. 什么是企业架构师?关于这个角色,你需要知道的一切及其未来发展
  16. Excel在统计分析中的应用—第十二章—回归分析与预测-运用LINEST函数进行多元线性回归分析
  17. 全网最细MySQL数据库下载及安装教程
  18. 青云云服务器怎么改系统,青云QingCloud沈鸥:企业应用如何往云端迁移?
  19. No Such Property: Scope For Class: Com.android.build.gradle.internal.variant.ApplicationVariantData
  20. Kylin 4 使用和优化在有赞的实践

热门文章

  1. Tensorflow2.x.x最基础的神经网络(ANN)
  2. 内中断---汇编学习笔记
  3. layui搭配Distpicker实现省市县多级联动
  4. Java线程池Executor框架
  5. C语言再学习 -- 创建excel文件
  6. RTSP再学习 -- Hi3516A RTSP实例 分析
  7. 记录一次Socket的异常:InputStream.read()阻塞问题
  8. stl-vector
  9. Android开源框架源码鉴赏:Okhttp
  10. 【David Silver强化学习公开课】-8:Integrating Learning and Planning