关联容器——map、set
map类型通常被称为关联数组,与正常数组类似,不同之处在于其下标不必是整数。我们通过一个关键字而不是位置来查找值(键值对)。
与之相对,set就是关键字的简单集合。当只是想知道一个值是否存在时,set是最有用的。
类似顺序容器,关联容器也是模板,为了定义一个map,我们必须指定关键字和值得类型。例:map<string,int>test;一个test的空map,关键字是string、值是int的。set<string> e={"hello"};设置关键字集合,类型为string。当定义一个map时,必须指明关键字类型又指明值类型;而定义一个set时,只需指明关键字类型,因为set中没有值。当初始化map时,我们将每个键值对包围在花括号中:{key,value}。
一个map或者set中的关键字必须是唯一的,即,对于一个给定的关键字,只能有一个元素的关键字等于它。容器multimap和multiset没有此限制,它们都允许多个元素具有相同的关键字。对于有序容器----map、multimap、set、multiset,关键字类型必须定义元素比较的方法。默认情况下,标准库使用关键字类型的<运算符来比较两个关键字。在集合类型中(set类),关键字类型就是元素类型;在映射类型中(map类),关键字类型是元素第一部分的类型。
pair类型:
在介绍关联容器操作之前,我们需要了解名为pair的标准库类型,它定义在头文件utility中。一个pair保存两个数据成员,类似容器,pair是一个用来生成特定类型的模板。——P380 c++ primer 5th。
这里的知识点一一罗列有点耗时间,直接看书学了p381开始。
关联容器——map、set相关推荐
- 200922阶段一C++关联容器map
目录 一.学习的知识点 关联容器 map 二.上课没有听懂或者没有理解的地方 三.当天学习的收获 四.作业的思路.不会的地方 五.其他需要反馈的问题 一.学习的知识点 关联容器 通过保存在数据项中的索 ...
- C++|STL学习笔记-对STL中关联容器map的进一步认识
关联容器map key + value 的值 关联容器 = 有序容器(红黑树) + 无序容器(散列表) + hash_map 有序容器中: map的键值是不允许重复的 multimap的键值是允许重复 ...
- C++知识点30——使用C++标准库(关联容器map及其初始化,赋值,查找,添加,删除与迭代器失效)
一.关联容器简介 关于顺序容器和关联容器的区别已经在博客https://blog.csdn.net/Master_Cui/article/details/107427911中提过 C++标准库中的关联 ...
- C++ 11 特性:关联容器map、set的使用
参考文献<C++ Primer> 一.关联容器概述 1.1 关联容器的概念 关联容器支持高效的查找与访问,主要的关联容器为map与set这两个.其中map主要提供的是键-值的操作,比如字典 ...
- 算法训练营 训练 硬木种类、双重队列、水果(关联容器map)
关联容器:map map的键和值可以是不同的类型,键是唯一的,每个键都对应一个值.map可被当做希哈表使用,它建立了从键(关键字)到值的映射.map是键和值的一一映射,使用时需要引入头文件#inclu ...
- 【c++入门(2)】关联容器map
一.map简介 map是一个关键字-值(key - value)的集合,就是可以通过key而找到value的一种关联数组.我们称这样的数据结构为:从key到value的映射,把key映射成value. ...
- 理解关联容器“map”的关键点
map有一个构造函数: map<k, v> m(b, e); <C++ Primer>解释为:"创建 map 类型的对象 m, 存储迭代器 b 和 e 标记的范围内所 ...
- 《Essential C++》笔记之关联容器map的使用总结
map被定义为一对(pair)数值,其中的key通常是个字符串,扮演索引的角色,另一个数值是value. 字典便是map的一个不错实例.如果要编写一个能对文章内每个字眼的出现次数加以分析的程序, ...
- C++知识点32——使用C++标准库(关联容器set和multiset的初始化,赋值,查找,添加,删除与迭代器失效)
关联容器map和multimap已经在博客https://blog.csdn.net/Master_Cui/article/details/108690877和https://blog.csdn.ne ...
最新文章
- 多线程断点续传及下载
- 5获取http请求头_获取托管者发送http请求报文的解决方案
- 遮挡摄像头 判断_长治一学校门口树枝遮挡信号灯,危险!
- numpy.cov() 计算协方差矩阵
- 使用Putty密钥认证机制远程登录Linux
- 《高性能MySQL》第5章 创建高性能的索引
- 常用的monkey命令
- t470键盘拆解_联想ThinkPad T470拆机图解教程
- Python中如何求分数化简
- 第三章 处理机调度与死锁(汤小丹版操作系统笔记) 超全超详细!!!
- leetcode_石头游戏合集
- android 手机内存64实际不到,手机拥有64G,为何用了不到1G,就显示内存不足?是谁在搞鬼?...
- mac怎么用u盘装系统?配备Apple T2 芯片的Mac电脑如何使用U盘装系统?
- 计算机主机突然断电有什么影响吗,断电对电脑的伤害大吗?有什么损伤?
- springboot easyexcel导出百万数据优化
- Redhat7(centos7)及以上防火墙完整介绍
- EA常见画图(类图、包图、构件图、状态图、顺序图、活动图)
- React面试题收集
- spark期末大作业RDD编程初级实践
- GRUB (简体中文)
热门文章
- 【吴恩达机器学习】学习笔记——1.3机器学习的定义
- SqlServer系列笔记——游标
- PHP自己实现var_dump函数
- 开源中国翻译频道链接收藏
- [转] Difference between Abstract classes and Interfaces
- 春节期间新闻回顾:思科微软多事 熊猫烧香完事
- python模块相互引用_python中如何相互引用两个包中的模块
- 解决警告“ld: warning: directory not found for option”
- Reporting Services 在WIN7和2008下出现“授予的权限不足,无法执行此操作。 (rsAccessDenied)”的解决办...
- SpringCloud:汇总(Gradle项目)