STL set容器的一点总结
整理了一下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容器的一点总结相关推荐
- C++ STL set容器
STL set容器 set set初始化 set添加.删除和访问元素 添加元素 删除元素 访问元素 set迭代器 set保存智能指针 multiset multiset初始化 multiset保存派生 ...
- 【读书笔记】【Effective STL】容器
第 1 条:慎重选择容器类型. C++ 中不同的容器分类如下:[标准 or 非标准][STL or 非 STL][序列 or 关联] 标准 STL 序列容器:vector.string.deque.l ...
- C++STL 顺序容器操作总结(超级详细)
文章目录 vector vector的构造函数 vector元素访问 vector容量相关 vector修改元素 deque deque构造函数 deque元素访问 deque容量相关 deque的修 ...
- 容器删除元素后迭代器失效_STL 4: STL之容器:选择时机,删除元素,迭代器失效...
一. 种类: 标准STL序列容器:vector.string.deque和list. 标准STL关联容器:set.multiset.map和multimap. 非标准序列容器slist和rope.sl ...
- C++中STL和容器、迭代器、算法之间的关系
自学习C++以来,一直对STL.容器.迭代器.算法甚是困惑. 参考一些资料,加上自己的理解,整理如下 如果说程序等于数据结构+算法,STL就是一个小程序库,之所以说小,是因为容器模板中常用的函数有限, ...
- c语言stl模板,c/c++开发分享C++ 标准模板库 STL 顺序容器详解
c++ 标准模板库 stl 顺序容器 容器 顺序性 重复性 支持迭代器 vector 动态数组 无序 可重复 随机访问迭代器 deque 双向队列 无序 可重复 随机访问迭代器 list 双向链表 无 ...
- STL库容器vector at函数
STL库容器vector at函数 v.at(n)返回v指定位置n的元素.at函数比[]运算符更加安全, 因为它不会让你去访问到越界的元素,一旦越界将会在运行时中止程序并抛出一个异常std::out_ ...
- [C++ STL] 各容器简单介绍
[C++ STL] 各容器简单介绍 目录 一.什么是STL? 二.容器(Containers) 2.1 vector 2.2 deque 2.3 list 2.4 set 2.5 map 2.6 容器 ...
- STL Deque 容器
STL Deque 容器 Deque简介 deque是"double-ended queue"的缩写,和vector一样都是STL的容器,deque是双 端的,而vector是单端 ...
最新文章
- iOS12系统应用发送普通邮实现发送
- 社区O2O全面遇冷,社区金融如何避免走入独特陷阱
- 第二节 DOM-Document对象
- 三次给你讲清楚Redis之Redis是个啥
- python 字典默认会引用 除非深拷贝
- C++基础::shared_ptr 编程细节(二)
- Sublime Text 2安装图解
- transform-style: preserve-3d「In CSS」
- 通过深度学习股价截面数据分析和预测股票价格
- 通过抓包来看http三次握手的具体细节
- 深度技术 GHOST XP 电脑城克隆版 V7.0 (NTFS/F32)
- 微秒, 纳秒,毫秒, 时间单位换算[转]
- 关系图谱服务的技术方案设计
- 具有遗传性疾病和性状的遗传位点分析
- 什么是企业架构师?关于这个角色,你需要知道的一切及其未来发展
- Excel在统计分析中的应用—第十二章—回归分析与预测-运用LINEST函数进行多元线性回归分析
- 全网最细MySQL数据库下载及安装教程
- 青云云服务器怎么改系统,青云QingCloud沈鸥:企业应用如何往云端迁移?
- No Such Property: Scope For Class: Com.android.build.gradle.internal.variant.ApplicationVariantData
- Kylin 4 使用和优化在有赞的实践
热门文章
- Tensorflow2.x.x最基础的神经网络(ANN)
- 内中断---汇编学习笔记
- layui搭配Distpicker实现省市县多级联动
- Java线程池Executor框架
- C语言再学习 -- 创建excel文件
- RTSP再学习 -- Hi3516A RTSP实例 分析
- 记录一次Socket的异常:InputStream.read()阻塞问题
- stl-vector
- Android开源框架源码鉴赏:Okhttp
- 【David Silver强化学习公开课】-8:Integrating Learning and Planning