#include <cstdio>
#include <cstdlib>
#include <iostream>
#include <string>
#include <map>
using namespace std;int main()
{map<string,int> word_count;//定义一个map对象empty mapword_count["Anna"]=1;   //对于map容器,如果 下标所表示的键在容器中不存在,则添加新元素cout<<word_count["Anna"]<<endl;++word_count["Anna"];//对键所对应的值进行操作cout<<word_count["Anna"]<<endl;string s;
/*  while (cin>>s)++word_count[s];
*///下面就是STL特有的操作啦~//insert插入新元素word_count.insert(map<string, int>::value_type("myc",1));//或者word_count.insert(make_pair("wh",1));//用make_pair简洁一点~//这个和上面没什么区别//但是insert函数只能插入新元素,就是如果试图插入的元素所对应的键已经在容器中,则insert将不作任何操作,不能对其进行赋值//查找操作://下标操作符给出了读取一个值的最简单的方法:s="myc";int x=word_count[s];//但是这样操作有危险,就是如果原先该键不在容器中,那么这种下表操作将会插入一个新的具有该键的元素//map提供了两种查找操作:count操作:if (word_count.count("Anna"))//count返回0或1,表示是否存在word_count["Anna"]++;cout<<word_count["Anna"]<<endl;//find操作:STL里所有find操作都是返回指向元素的迭代器,如果该元素不存在,则返回end迭代器int q;map<string,int>::iterator it=word_count.find("myc");//这是定义一个迭代器it,it被赋值为find的返回值if (it != word_count.end())q=it->second;cout<<q<<endl;//删除操作:erases="Anna";if (word_count.erase(s))cout<< "ok: " << s << " removed!"<<endl;else cout<< "oops: " <<s<< " not found!"<<endl;cout<<endl;//erase函数返回被删除的元素的个数,由于map容器每个键值只能出现一次,改值必然是0或1,返回0表示欲删除的元素在map中不存在//遍历整个map容器中的所有对象://先添加一点对象哈~word_count["Angel"]=3;word_count["ff"]=45;word_count["em"]=31;word_count["ububu"]=64;//首先,和其他容器一样,map提供begin和end两个运算,以生成用于遍历整个容器的迭代器//建一个迭代器map_it指向第一个元素:map<string,int>::const_iterator map_it=word_count.begin();while (map_it != word_count.end()){cout << map_it->first << "~~~~~" << map_it->second<<endl;++map_it;}return 0;
}
#include <iostream>
#include <iomanip>
#include <algorithm>
#include <string>
#include <vector>
#include <map>
#include <cmath>
using namespace std;
int main()
{int n;while(cin>>n&&n){map<string,int>ma;map<string,int>mb;string a,b;while(n--){cin>>a>>b;if(mb[a]==0){ma[a]=1;}ma[b]=0;mb[b]=1;}int sum=0;map<string ,int>::iterator it;for(it=ma.begin(); it != ma.end(); it++){if(it->second==1)sum++;}if(sum!=1)cout<<"No"<<endl;else cout<<"Yes"<<endl;}return 0;
}

转载于:https://www.cnblogs.com/stodgers/p/3898320.html

部分STL_hanhan~相关推荐

最新文章

  1. 新安装Ubuntu加载时提示“为/检查磁盘时发生严重错误”的解决方法
  2. python construct 字符串_通过字符串变量在Python中设置和获取@property方法
  3. 贴牌是赢在当下,创牌才会更有未来
  4. Python 错误和异常小结[转]
  5. 用人工智能来喂鱼:喂多少智能算法说了算
  6. Duplicate entry ‘‘ for key ‘***‘
  7. mysql foundrows 并发_MySQL 中的 FOUND_ROWS() 函数
  8. Java中将ResultSet结果集转换为List
  9. 高通平台手机开发之Bring-up
  10. 圣诞祝福网页_圣诞营销H5的多种趣味玩法(案例+模板)
  11. 游戏蛮牛unity权威指南全实例讲解书籍上线
  12. 生信软件 | FastQC(质量控制,查看测序质量)
  13. 非此即彼的逻辑错误_Argument常见逻辑错误及描述 【出国英语】
  14. HCIA/HCIP使用eNSP模拟VRRP配置实验(接入层 汇聚层 核心层 VLAN OSPF VRRP STP DHCP的综合应用)
  15. Android Wi-Fi CMD汇总(基于Android 6.0-7.1)
  16. android仿朋友圈教程,android 仿朋友圈动态 图片查看效果
  17. 苹果xr如何关机_iPhone XR 的实际体验如何?
  18. Python - JS逆向破解实现翻译软件
  19. 第五十一章 SQL函数 DECODE
  20. Fira Code字体中增加思源黑体支持中文字体

热门文章

  1. 表情包系列(一):程序员专属的可爱搞笑表情包+段子,进来看一看......
  2. Java小项目——家庭记账项目
  3. IDEA springboot启动报错java.lang.UnsatisfiedLinkError: no tcnative-1 in java.library.path
  4. 技术拯救的网瘾少年,安全盒子王松的执念 | 宅客故事
  5. 【面试利器】 原生JS灵魂拷问,你能答上多少(一)
  6. ScriptX.cab与Smsx.cab打印代码
  7. oracle 全文索引 优化,通过案例学调优之--Oracle 全文索引
  8. WebRTC视频JitterBuffer详解
  9. SiTime硅晶振和石英晶振的冲击和振动性能比较
  10. 石英晶振的频率稳定性和负载电容有什么关系?