漫步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相关推荐

  1. C++ 笔记(24)— STL map 类(map实例化、插入、查找、删除)

    1. STL 映射类简介 map 和 multimap 是键-值对容器,支持根据键进行查找,区别在于,后者能够存储重复的键,而前者只能存储唯一的键. 为了实现快速查找, STL map 和 multi ...

  2. STL map 简介

    STL map 简介 转载于:http://www.cnblogs.com/TianFang/archive/2006/12/30/607859.html 1.目录 map简介 map的功能 使用ma ...

  3. 结构体作为STL map的key时需要注意什么? (某公司招聘面试试题)已跪~~~~(_)~~~~

    某公司招聘的面试环节, 有这样一个题目:结构体作为STL map的key时需要注意什么? 对于懂STL map的同学来说, 这个题目还是比较easy的, 先看程序: #include <iost ...

  4. Dictionary,hashtable, stl:map有什么异同?

    Dictionary,hashtable, stl:map有什么异同? 相同点:字典和map都是泛型,而hashtable不是泛型. 不同点:三者算法都不相同 Hashtable,看名字能想到,它是采 ...

  5. C++ STL map的使用

    C++ STL map的使用   2009-12-11 作者:tanker1024 来源:tanker1024的blog   1.map简介 map是一类关联式容器.它的特点是增加和删除节点对迭代器的 ...

  6. 学习STL map, STL set之数据结构基础

    STL map和set的使用虽不复杂,但也有一些不易理解的地方,如: 或许有得人能回答出来大概原因,但要彻底明白,还需要了解STL的底层数据结构. C++ STL 之所以得到广泛的赞誉,也被很多人使用 ...

  7. STL map与Boost unordered_map - 有何不可的日志 - 网易博客

    STL map与Boost unordered_map - 有何不可的日志 - 网易博客 STL map与Boost unordered_map 2012-03-30 16:06:26|  分类: c ...

  8. STL map 内存改变,迭代器失效,_Isnil(_Ptr)和红黑树

    STL map 内存改变,迭代器失效,_Isnil(_Ptr)和红黑树 最近在做项目时发现一个crash的问题,当时得到的dmp文件显示crash在一个以map为循环变量的循环中,crash位置在如下 ...

  9. stl::map之const函数访问

    如何在const成员数中访问stl::map呢?例如如下代码: string ConfigFileManager::MapQueryItem(const string& name) const ...

  10. STL map使用

    map属于c++STL中的一种,是有不能重复的关键字和与之相关的值组成(若键值重复,则这个键值所对应的值为最后一次所赋给的值): #include <string.h> #include ...

最新文章

  1. conda-forge,conda,-c的理解
  2. 数据结构——查找:折半查找、二叉查找(排序)树、平衡二叉树
  3. Android --- 新版本取色器吸管工具点击无效,没反应
  4. 戴尔为例 浅谈电子商务时代客户关系管理
  5. linux 安装软件_Linux:其它软件安装方式
  6. 【C++基础】C++11的noexcept声明符 与 异常传播
  7. tomcat安装及配置教程(保姆级)
  8. ESP8266串口WiFi模块基本使用方法和配置教程
  9. 混沌:Logistic模型
  10. 计算机信息中心的安全生产责任,信息中心安全生产责任制 (刘.doc
  11. kpi绩效考核流程图_KPI绩效考核如何运作起来(内含企业KPI实例之详解)
  12. 米家蓝牙温湿度计2 换用 LIR2032 充电电池的问题
  13. 【Red Team——基础】通过钓鱼攻击获得访问权限
  14. 1628_MIT 6.828 xv6_chapter0操作系统接口
  15. 安装Debian系统
  16. 2023年产品经理需要考的证书,NPDP含金量真高
  17. 深圳软件测试培训:Js中的变量
  18. 以下是一段歌词,请从这段歌词中统计出“月亮”一词在歌词中出现的次数。
  19. 驾校招生报名预约学车小程序开发制作
  20. 对自己未来职业的规划

热门文章

  1. JS中Class类的详解
  2. 摩尔斯 (Morse )编码
  3. 查看显卡支持的CUDA版本
  4. 【 Apollo 】dreamview 无法启动
  5. 计算机应用基础问卷调查,计算机应用基础调查问卷.docx
  6. 降压恒流工作灯方案 4线6珠 AP5218车灯恒流芯片
  7. Educational Codeforces Round 13 A.Johny Likes Numbers B. The Same Calendar
  8. SSM POI根据预定好的模版导出execle
  9. 写TS效率大提升,TypeScript中常用内置工具类型Omit、Pick、Partial、Required、Readonly、Exclude 、Extract
  10. hive执行msck repair报错msck is missing partition columns under hdfs://表分区路径