博客
关于我
Map(关联式容器)
阅读量:800 次
发布时间:2023-02-07

本文共 2030 字,大约阅读时间需要 6 分钟。

  map是一类关联式容器,自动建立Key - Value的对应 , key 和 Value可以是任意你需要的类型。下面介绍 map 中一些常用的函数;

一、map 中的 begin 和 end 函数

  map<char , int> m ;

  m['a'] = 100 ;

  m['b'] = 200 ;

  m['c'] = 300 ;

  m.begin() -> first;      // 输出第一个元素的键值

  m.begin() -> second ;    // 输出第一个元素的 value  

  m.end() -> first ;    // 输出最后一个元素的下一个元素的键值

  m.end() ->second ;  // 输出最后一个元素的下一个元素的value

二、map 中的 rbegin 和 rend 函数

  和其他数据结构差不多,这个是从后往前输出的,返回的值要用变量来存储,变量应该这样定义:map<char,int>::reverse_iterator iter ;

  map<char , int> m ;

  m['a'] = 100 ;

  m['b'] = 200 ;

  m['c'] = 300 ;

  m.rbegin() -> first ;   // 输出最后一个元素的键值

  m.rend() -> first ;    // 输出第一个前面一个元素的键值

三、map 中的 empty 函数

  map<char , int> m ;

  m.empty() ;  //若 map 中的元素为空时,返回 true ,否则返回 false 

四、map 中的 size 函数

  map<char , int> m ;

  m['a'] = 100 ;

  m['b'] = 200 ;

  m['c'] = 300 ;

  m.size() ;    // 返回 map 中的数据元素个数

五、map 中的 at 函数

  at 函数中的参数为键值,输出的是键值相对应的 value ;

  map<char , int> m ;

  m['a'] = 100 ;

  m['b'] = 200 ;

  m['c'] = 300 ;

  m.at('a') ;  //  输出键值 a 对应的 value ,相当于 vector 中的 at 中放入下标

六、map 中的 find 函数

  find 函数用来查找键值,返回键值所在的位置指针;

  map<char , int> m ;

  m['a'] = 100 ;

  m['b'] = 200 ;

  m['c'] = 300 ;

  m.find('b') -> second ;  // 输出键值 b 对应的 value

七、map 中的 insert 函数 

  和其他数据结构很相似,insert 函数有两个参数,第一个参数表示在什么地方插入,第二个参数表示插入什么

  map<char , int> m ;

  m['a'] = 100 ;

  m['b'] = 200 ;

  m['c'] = 300 ;

  m.insert(m.begin() , pair<char,int>('a',50) ;    // 在容器之前插入一个元素('a' , 50) ;

  map<char , int> m1 ;

  m1.insert(m.begin() , m.end()) ;    // 将 m 中的数据全部复制给 m1 

  m1.insert(m.begin(),m.find('c')) ;    // 将 m 中的数据从第一个开始,一直复制到键值为 c 为止

八、map 中的 erase 函数

  erase 函数 用来删除 map中的某个对象 , 参数为map对象的键值 ;

  map<char , int> m ;

  m['a'] = 100 ;

  m['b'] = 200 ;

  m['c'] = 300 ;

  m.erase('a') ;  //将键值为 a 的这个对象给删除掉

  m.erase(m.find('a')) ;  效果和上面一样

  m.erase(m.find('a') , ++m.find('b')) ;  // 将键值为 a 和 b 的map对象删除

九、map 中的 count 函数

  count 函数 顾名思义,用来统计相同键值出现的次数

  map<char , int> m ;

  m['a'] = 100 ;

  m['b'] = 200 ;

  m['c'] = 300 ;

  m.count('b') ;    // 输出键值 b 出现的次数

 

  

转载于:https://www.cnblogs.com/NYNU-ACM/p/4237430.html

你可能感兴趣的文章
mysql 前缀索引 命令_11 | Mysql怎么给字符串字段加索引?
查看>>
MySQL 加锁处理分析
查看>>
mysql 协议的退出命令包及解析
查看>>
mysql 参数 innodb_flush_log_at_trx_commit
查看>>
mysql 取表中分组之后最新一条数据 分组最新数据 分组取最新数据 分组数据 获取每个分类的最新数据
查看>>
MySQL 命令和内置函数
查看>>
mysql 四种存储引擎
查看>>
MySQL 在并发场景下的问题及解决思路
查看>>
MySQL 基础架构
查看>>
MySQL 基础模块的面试题总结
查看>>
MySQL 备份 Xtrabackup
查看>>
mYSQL 外键约束
查看>>
mysql 多个表关联查询查询时间长的问题
查看>>
mySQL 多个表求多个count
查看>>
mysql 多字段删除重复数据,保留最小id数据
查看>>
MySQL 多表联合查询:UNION 和 JOIN 分析
查看>>
MySQL 大数据量快速插入方法和语句优化
查看>>
mysql 如何给SQL添加索引
查看>>
mysql 字段区分大小写
查看>>
mysql 字段合并问题(group_concat)
查看>>