map

复制代码
 1 map和set两种容器的底层结构都是红黑树,所以容器中不会出现相同的元素,
 2 因此count()的结果只能为0和1,可以以此来判断键值元素是否存在
 3 (当然也可以使用find()方法判断键值是否存在)。
 4 拿map<key,value>举例,find()方法返回值是一个迭代器,
 5 成功返回迭代器指向要查找的元素,失败返回的迭代器指向end。
 6 count()方法返回值是一个整数,1表示有这个元素,0表示没有这个元素。
 7 #include<iostream>
 8 #include<map>
 9 #include<string>
10 using namespace std;
11 
12 int main()
13 {
14     map<int,string>maps;
15     map<int,string>::iterator it;
16     if(maps.find(1)==maps.end())//返回迭代器。
17     {
18         cout<<"没有1这个元素"<<endl;
19     }
20     if(maps.count(1)==0)//只返回1或0。
21     {
22         cout<<"没有1这个元素"<<endl;
23     }
24     //添加元素1
25     maps[1]="one";
26 
27     if(maps.find(1)!=maps.end())
28     {
29          it=maps.find(1);
30          cout<<it->second<<endl;
31         //cout<<"有1这个元素"<<endl;
32     }
33     if(maps.count(1))
34     {
35         cout<<"有1这个元素"<<endl;
36     }
37     return 0;
38 }
复制代码

 

 

复制代码
 1     while(~scanf("%d%d%d",&id,&h,&m)){
 2         P p = mp[id];
 3         mp[id].first = h,mp[id].second = m;
 4         printf("%d %d\n",h,m);
 5             printf("%d %d\n",p.first,p.second);
 6             printf("%d %d\n",mp[id].first,mp[id].second);
 7     }
 8     1 5 2
 9     5 2
10     0 0
11     5 2
12     return 0;
13 }
复制代码

 

posted on   cltt  阅读(160)  评论(0编辑  收藏  举报

编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示