在C++ 中定义了几种类型用来表示容器关键字和值的类型。

key_type   mapped_type   value_type

对于set,由于保存的值就是关键字,所以,key_type和value_type是一样的。set的迭代器是const的!

对于set,find调用返回的是一个迭代器,如果我们所给定的关键字在set中的时候,迭代器就指向该关键字,否则,find返回尾后迭代器。


在一个map中,元素是键值对,即每个元素就是一个pair对象。值得注意的是,key_type是关键字类型,value_type是pair类型,

mapped_type才是关键字关联的值的类型!

map<int,string>::key_type v    //int
map<int,string>::value_type v1   //pair<int,string>
map<int,string>::mapped_type v2   //stringset<string>::key_type v3    //string
set<string>::value_type v4   //string

关联容器的查找

对于有序关联容器 map set

map:  下标或者find

map<string,int>mapp;
mapp["one"] = 1;
cout<<mapp["one"]<<endl;

set:

set和map一样,find调用返回的是一个迭代器,如果我们所给定的关键字在set/map中的时候,迭代器就指向该关键字,否则,find返回尾后迭代器。

if(mapp.find("one") == mapp.end())cout<<"one is not found !"<<endl;

multimap或者multiset

调用find 返回的是该关键字指向的第一个元素(一个关键字可能对应于很多的元素值),可以遍历这些元素值,全部打印输出。

multimap<string,string>authors;
/*导入数据*/
string search_item("yanghang");
auto entries = authors.count(search_item);
auto iter = authors.find(search_item);
while(entries)
{cout<<iter->second<<endl;++iter;--entries;
}

STL系列:关联容器的操作相关推荐

  1. C++|STL学习笔记-对STL中关联容器map的进一步认识

    关联容器map key + value 的值 关联容器 = 有序容器(红黑树) + 无序容器(散列表) + hash_map 有序容器中: map的键值是不允许重复的 multimap的键值是允许重复 ...

  2. 【C++ Primer 第11章】2. 关联容器操作

    练习答案 一.访问元素 关联容器额外类型别名  key_type 此容器类型的关键字类型 mapped_type 每个关键字关联的类型,只 适用于map mapped_type 对于set,与key_ ...

  3. 《C++ Primer 5th》笔记(11 / 19):关联容器

    文章目录 使用关联容器 使用map 使用set 关联容器概述 定义关联容器 初始化multimap 或 multiset 关键字类型的要求 有序容器的关键字类型 使用关键字类型的比较函数 pair类型 ...

  4. C++ 11 特性:关联容器map、set的使用

    参考文献<C++ Primer> 一.关联容器概述 1.1 关联容器的概念 关联容器支持高效的查找与访问,主要的关联容器为map与set这两个.其中map主要提供的是键-值的操作,比如字典 ...

  5. c++关联容器的容器操作(和顺序容器都支持的操作)详细解释,基础于c++primer 5th 表 9.2 (持续更新)

    关联容器和顺序容器都是容器,所以都支持容器操作.就是表格9.2所示的操作.以下以map为例测试表格中的操作是否满足关联容器. 1.类型别名: #include <iostream> #in ...

  6. 我对STL的一些看法(五)初识关联容器

    3关联容器 pair类型 这个是一个简单的标准库类型,该类型在utility头文件中定义,我们来看看他主要的操作: pair<T1 ,T2> p1;     创建一个空的pair对象 pa ...

  7. C++primer第十一章 关联容器 11.3关联容器操作 11.4 无序容器

    11.3关联容器操作 除了表9.2(第295页)中列出的类型,关联容器还定义了表11.3中列出的类型.这些类型表示容器关键字和值的类型. 对于set类型,key_type和value type是一样的 ...

  8. STL 容器和迭代器连载6_顺序容器的操作3

    2019独角兽企业重金招聘Python工程师标准>>> /*- ========================================================== ...

  9. C++关联容器,STL关联容器

    关联容器内部的元素都是排好序的,有以下四种. set:排好序的集合,不允许有相同元素.multiset:排好序的集合,允许有相同元素.map:每个元素都分为关键字和值两部分,容器中的元素是按关键字排序 ...

最新文章

  1. python作业高级FTP(第八周)
  2. Postgres和Oracle与Hibernate的兼容性
  3. 行为扩展以及插件机制
  4. [转]android 获取 imei号码
  5. java bio例子_传统的BIO
  6. self、 superclass 、 super的区别
  7. QT的QWebEngineView内存泄漏
  8. Excel绘制斜线表头
  9. flashfxp用什么协议连接服务器,flashfxp怎么连接,flashfxp怎么连接,具体的连接方法...
  10. InstallShield可靠的 Windows 安装程序
  11. 获取iframe里面的数据
  12. 保研夏令营、考研复试、出国时个人陈述模板与撰写注意事项
  13. RTX Excption integer divided by zero at loc (proc= thread=)Process image has been *unloaded
  14. 【无标题】C++输入两个坐标显示出输入的坐标以及均值
  15. 实木地板被机器人弄成坑_钱花光哭成泪人,28个让人撕心裂肺装修坑,不注意新房就会被毁!...
  16. 教师计算机培训考勤表,之江汇平台的使用-信息技术培训
  17. package,source folder,folder
  18. E - Bishop 2
  19. C++ 格式化地输出乘法口诀表,要求每列左对齐
  20. 东亚银行领千万级罚单、“十四五”数字经济发展规划发布、数百万路由器受漏洞影响|网络安全周报

热门文章

  1. SQL语句where,Group By,having order by 的详细使用方法
  2. CentOS命令行界面与图形界面切换(图文详解)
  3. JavaScript知识点总结(二)
  4. js中两个对象的比较
  5. web安全漏洞加固方案简析
  6. 艾伟也谈项目管理,项目做完了,总结一下
  7. etcd工作原理和CentOS 7部署指南
  8. ffmpeg 把视频解码成jpg
  9. 12个有趣的C语言面试题及答案
  10. python 多图一窗口 打乱列表排序