博客
关于我
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

你可能感兴趣的文章
nginx connect 模块安装以及配置
查看>>
nginx css,js合并插件,淘宝nginx合并js,css插件
查看>>
Nginx gateway集群和动态网关
查看>>
nginx http配置说明,逐渐完善。
查看>>
Nginx keepalived一主一从高可用,手把手带你一步一步配置!
查看>>
Nginx Location配置总结
查看>>
Nginx log文件写入失败?log文件权限设置问题
查看>>
Nginx Lua install
查看>>
nginx net::ERR_ABORTED 403 (Forbidden)
查看>>
vue中处理过内存泄露处理方法
查看>>
Nginx RTMP 模块使用指南
查看>>
Nginx SSL 性能调优
查看>>
Nginx SSL私有证书自签,且反代80端口
查看>>
Nginx upstream性能优化
查看>>
Nginx 中解决跨域问题
查看>>
nginx 代理解决跨域
查看>>
Nginx 做负载均衡的几种轮询策略分析
查看>>
Nginx 入门,一篇搞定!
查看>>
Nginx 利用代理转发请求示例
查看>>
Nginx 动静分离与负载均衡的实现
查看>>