映射map又称字典,表,或者查找表,其元素是由key和value两个分量组成的对偶(key,value)。

key是键,value是与键key相关联的映射值,这样的元素又称“关联”。key和value可以有不同的类型。多重映射muitimap和map的区别是:multimap允许元素有相同的键key。

在建立map对象和multimap对象的程序中需要使用预处理指令:

#include<map>

设分量key的类型是key,分量value的类型是T,下列两个语句分别声明一个映射对象m,和一个多重映射mm:

map<key,T> m;

multimap<key,T> mm;

为了对关联容器进行高效快速的搜索,容器中的元素按键key的大小组成红黑树结构,从而使操作的效率达到O(logn)。为了进行比较,类型key提供比较操作,默认的是在标准模板库<function>中定义的函数

类less。

关联容器的迭代器指定容器中某个元素的存储位置,通过迭代器可以按键的大小顺序遍历容器,所以它们又称为有序关联容器。  begin()指向具有最小键的元素,end()指向具有最大键的元素之后

有以下操作:

构造函数                   构造容器c

c()                             构造一个空的容器

c(comp)                    构造一个空的容器,使用comp函数进行键值比较

c(first,last)                用范围[first,last)中的元素初始化

c(first,last,comp)      用范围[first,last)中的元素初始化,使用comp函数进行键比较

c.empty()                 当且仅当容器c中没有元素时返回true

c.size()                    返回容器c中当前存储的元素个数

c.count(k)                返回c中键值与k相同的元素的个数

c.find(k)                  返 回c中键值等于k元素的迭代器,若不存在这样的元素,则返回end()。  对multimap和multiset,结果迭代器将指向键值等于k的第一个元素

c.begin()                 返回c中第一个元素的迭代器

c.end()                    返回c中最后一个元素之后位置的迭代器

c.erase(it)               删除c中迭代器it所指定的元素

最新文章

  1. 转: 如何高效利用GitHub
  2. 【PRINCE2是什么】PRINCE2认证之七大原则(6)
  3. linux系统的初化始配置(包括网络,主机名,关闭firewalld与selinux)
  4. BZOJ4590 自动刷题机
  5. sql语句查询出表里符合条件的第二条记录的方法
  6. 在jsp页面解析json的2种方法
  7. Qt之QHostInfo
  8. Eclipse 修改编码格式
  9. PHP+AJAX 地区三级联动代码
  10. UICollectionView 适配 iPhone 7 Plus
  11. spring quartz开发中使用demo
  12. 运维面试题之linux基础
  13. C# 检查数字
  14. LeetCode:111_Minimum Depth of Binary Tree | 二叉树的最小深度 | Easy
  15. Codeforces 825D Suitable Replacement - 贪心 - 二分答案
  16. 配置文件elasticsearch.yml详解
  17. 【译】Apache Flink Kafka consumer
  18. Repository与Factory关系
  19. iOS 推送功能打包后获取不到deviceToken
  20. Redis安装与配置Redis安装与配置

热门文章

  1. Apache+OpenSSL实现证书服务器提供HTTPS
  2. Express Route的配置
  3. freeMaker的工具类
  4. wpf dataGrid 选中行 失去焦点时 的背景颜色的更改
  5. 输出缓存与CachePanel
  6. hibernate 数据关联一对一
  7. 【255】◀▶IEW-Unit20
  8. ansible案例-安装nginx
  9. 11_adb指令练习
  10. Command line option syntax error. Type Command /? for Help.