漫步STL-map AND set
漫步STL-map AND set
- 1. 关联式容器
- 2. 键值对
- 3. 树形结构的关联式容器
- 4. set
- 4.1 set快速入门
- 4.2 构造
- 4.3 增删查改Modifiers
- :herb: insert
- :herb: find
- :herb: 降序
- :herb: erase
- :herb: swap
- 4.4 访问elements
- :herb: iterator
- :herb: 范围for
- :herb: 活学活用
- 4.5 容量
- 4.6 multiset
- 4.5.1 multiset 快速入门
- 4.5.2 multiset注意事项
- 4.5.3 multiset使用
- 5. map
- 5.1 map快速入门
- 5.2 增删查改Modifiers
- :herb: insert
- 5.3 访问elements
- :herb: 迭代器
- :herb: operator[]
- 5.4 统计次数
- 5.4.1 方法一
- 5.4.2 方法二
- 5.4.3 方法三
- 5.5 统计次数并排序
- 5.5.1 sort
- 5.5.2 map排序
- 5.5.3 set排序
- 5.5.4 优先级队列
- 5.6 multimap
- 5.6.1 multimap快速入门
- 5.6.2 multimap注意事项
- 5.6.3 multimap的使用
- 5.7 map小结
1. 关联式容器
容器可以分为:关联式容器和序列式容器
类型 | 容器名(常用) | 常用功能 | ||
---|---|---|---|---|
序列式容器 | vector | list | deque(用的也不是很多) | 存储数据 |
关联式容器 | map | set | unordered_map | 存储数据+数据检索 |
容器适配器 | stack | queue |
序列式是互相挨着放的,而且实际上可以随便改变顺序
关联式容器也是用来存储数据的,与序列式容器不同的是,其里面存储的是<key, value>结构的键值对,在
数据检索时比序列式容器效率更高。
map和set的话底层是平衡二叉树和红黑树,而unordered_map是哈希表
2. 键值对
键值对用来表示具有一一对应关系的一种结构,该结构中一般只包含两个成员变量key和value,key代表键值,value表示与key对应的信息。
容器 | 功能 | |
---|---|---|
set | 1. key在不在set | |
map | 1. key在不在map | 2. 通过key查找对应的value |
unordered_map | to be continued… | to be continued… |
SGI-STL中关于键值对的定义:
template <class T1, class T2>
struct pair
{typedef T1 first_type;typedef T2 second_type;T1 first;T2 second;pair(): first(T1()), second(T2()){}pair(const T1& a, const T2& b): first(a), second(b){}
};
3. 树形结构的关联式容器
根据应用场景的不桶,STL总共实现了两种不同结构的管理式容器:树型结构与哈希结构。树型结构的关联式容器主要有四种:map、set、multimap、multiset。这四种容器的共同点是:使用平衡搜索树(即红黑树)作为其底层结果,容器中的元素是一个有序的序列。
4. set
4.1 set快速入门
来自官方文档
漫步STL-map AND set相关推荐
- C++ 笔记(24)— STL map 类(map实例化、插入、查找、删除)
1. STL 映射类简介 map 和 multimap 是键-值对容器,支持根据键进行查找,区别在于,后者能够存储重复的键,而前者只能存储唯一的键. 为了实现快速查找, STL map 和 multi ...
- STL map 简介
STL map 简介 转载于:http://www.cnblogs.com/TianFang/archive/2006/12/30/607859.html 1.目录 map简介 map的功能 使用ma ...
- 结构体作为STL map的key时需要注意什么? (某公司招聘面试试题)已跪~~~~(_)~~~~
某公司招聘的面试环节, 有这样一个题目:结构体作为STL map的key时需要注意什么? 对于懂STL map的同学来说, 这个题目还是比较easy的, 先看程序: #include <iost ...
- Dictionary,hashtable, stl:map有什么异同?
Dictionary,hashtable, stl:map有什么异同? 相同点:字典和map都是泛型,而hashtable不是泛型. 不同点:三者算法都不相同 Hashtable,看名字能想到,它是采 ...
- C++ STL map的使用
C++ STL map的使用 2009-12-11 作者:tanker1024 来源:tanker1024的blog 1.map简介 map是一类关联式容器.它的特点是增加和删除节点对迭代器的 ...
- 学习STL map, STL set之数据结构基础
STL map和set的使用虽不复杂,但也有一些不易理解的地方,如: 或许有得人能回答出来大概原因,但要彻底明白,还需要了解STL的底层数据结构. C++ STL 之所以得到广泛的赞誉,也被很多人使用 ...
- STL map与Boost unordered_map - 有何不可的日志 - 网易博客
STL map与Boost unordered_map - 有何不可的日志 - 网易博客 STL map与Boost unordered_map 2012-03-30 16:06:26| 分类: c ...
- STL map 内存改变,迭代器失效,_Isnil(_Ptr)和红黑树
STL map 内存改变,迭代器失效,_Isnil(_Ptr)和红黑树 最近在做项目时发现一个crash的问题,当时得到的dmp文件显示crash在一个以map为循环变量的循环中,crash位置在如下 ...
- stl::map之const函数访问
如何在const成员数中访问stl::map呢?例如如下代码: string ConfigFileManager::MapQueryItem(const string& name) const ...
- STL map使用
map属于c++STL中的一种,是有不能重复的关键字和与之相关的值组成(若键值重复,则这个键值所对应的值为最后一次所赋给的值): #include <string.h> #include ...
最新文章
- conda-forge,conda,-c的理解
- 数据结构——查找:折半查找、二叉查找(排序)树、平衡二叉树
- Android --- 新版本取色器吸管工具点击无效,没反应
- 戴尔为例 浅谈电子商务时代客户关系管理
- linux 安装软件_Linux:其它软件安装方式
- 【C++基础】C++11的noexcept声明符 与 异常传播
- tomcat安装及配置教程(保姆级)
- ESP8266串口WiFi模块基本使用方法和配置教程
- 混沌:Logistic模型
- 计算机信息中心的安全生产责任,信息中心安全生产责任制 (刘.doc
- kpi绩效考核流程图_KPI绩效考核如何运作起来(内含企业KPI实例之详解)
- 米家蓝牙温湿度计2 换用 LIR2032 充电电池的问题
- 【Red Team——基础】通过钓鱼攻击获得访问权限
- 1628_MIT 6.828 xv6_chapter0操作系统接口
- 安装Debian系统
- 2023年产品经理需要考的证书,NPDP含金量真高
- 深圳软件测试培训:Js中的变量
- 以下是一段歌词,请从这段歌词中统计出“月亮”一词在歌词中出现的次数。
- 驾校招生报名预约学车小程序开发制作
- 对自己未来职业的规划
热门文章
- JS中Class类的详解
- 摩尔斯 (Morse )编码
- 查看显卡支持的CUDA版本
- 【 Apollo 】dreamview 无法启动
- 计算机应用基础问卷调查,计算机应用基础调查问卷.docx
- 降压恒流工作灯方案 4线6珠 AP5218车灯恒流芯片
- Educational Codeforces Round 13 A.Johny Likes Numbers B. The Same Calendar
- SSM POI根据预定好的模版导出execle
- 写TS效率大提升,TypeScript中常用内置工具类型Omit、Pick、Partial、Required、Readonly、Exclude 、Extract
- hive执行msck repair报错msck is missing partition columns under hdfs://表分区路径