博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
map
阅读量:6604 次
发布时间:2019-06-24

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

map 的遍历 

代码示例

#include   #include 
  #include 
  using namespace std;  int main()  {         map
 mapStudent;         mapStudent.insert(pair
(1, "student_one"));         mapStudent.insert(pair
(2, "student_two"));         mapStudent.insert(pair
(3, "student_three"));         map
::iterator iter;  // 迭代器     for(iter = mapStudent.begin(); iter != mapStudent.end(); iter++){       printf("%d %d\n", iter->first, iter->second); // 直接引用两个元素     }        }  

 

判断一个元素是否出现过

1 . count

mp.count( x );

当 x 出现过,函数的返回值为 1 , 当没有出现过,函数的返回值为 0 。

2 . find ();

map
mp; mp[10] = 3; mp[20] = 5; mp[30] = 7; map
::iterator it; it = mp.find(22); printf("%d \n", it->second);

 

 若要查找的元素,则返回所要查找的元素对应的在容器中的位置,若不存在,则返回 test.end( ) 。

 

删除元素 

map
::iterator it;mp.erase( it ); //删除后 it 所指向的地址是删除元素的当前地址 。若是在遍历时删除了元素,则在遍历时在给it++,则会出现错误 好坑啊这里 !!

 

lower_bound(  x )  函数返回大于等于 x 的第一个迭代器的位置

int main() {    map
mp; mp[10] = 3; mp[20] = 5; mp[30] = 7; map
::iterator it; it = mp.lower_bound(20); printf("%d \n", it->second); return 0;}

 

upper_bound(  x )  函数返回大于 x 的第一个迭代器的位置

int main() {    map
mp; mp[10] = 3; mp[20] = 5; mp[30] = 7; map
::iterator it; it = mp.upper_bound(20); printf("%d \n", it->second); return 0;}

 

转载于:https://www.cnblogs.com/ccut-ry/p/8058989.html

你可能感兴趣的文章
嵌入式开发之字符叠加---gb2313 国标码,utf8 国际码,unicode 无码
查看>>
Java查找算法——二分查找
查看>>
如何构建微服务架构
查看>>
【前端笔记】彻底理解变量与函数的声明提升
查看>>
Android 反编译利器,jadx 的高级技巧
查看>>
Mycat 读写分离 数据库分库分表 中间件 安装部署
查看>>
二叉搜索树(递归实现)
查看>>
Spring Retry重试机制
查看>>
Android官方架构组件LiveData: 观察者模式领域二三事
查看>>
[Android组件化]组件化数据分享
查看>>
你必须知道的HTTP基本概念
查看>>
当下拉列表数据过大时,该如何应对?
查看>>
使用OpenGrok搭建 可搜索可跳转的源码 阅读网站
查看>>
HTML5开发中的javascript闭包
查看>>
Android ContentProvider调用报错"Bad call:..."及相关Binder权限问题分析
查看>>
ionic3 教程(二)登录页制作
查看>>
Python正则表达式初识(四)
查看>>
不明恶意攻击致<搜狗搜索><搜索结果>跳转<百度搜索>技术原理分析
查看>>
不务正业的前端之SSO(单点登录)实践
查看>>
配置通过VLANIF实现跨设备VLAN内通信
查看>>