比如我现在有一个map 的m=1(这里的m可以变化也可能比2大也可能比2小)
另一个map的m为<2 请问这里怎么写判断 如果小于2就写个提示 大于话就不用提示
比较两个map同一个kev的value值大小
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- 第八代火影 2018-11-01 12:26关注
#include<map> #include<string> #include<iostream> #include<sstream> using std::map; using std::string; using std::cout; using std::pair; using std::endl; using std::stringstream; void main() { map<int, int > Mymap;//key为int型,value为int型 map<int, int > Mymap2; pair<int, int> Mypair; Mypair.first = 1; Mypair.second = 1; Mymap.insert(Mypair);//添加数据方式一 Mymap.insert(map<int, int>::value_type(2, 3));//添加数据方式二 Mymap2[1] = 1; //添加数据方法三,效率较差,不提倡 Mymap2.insert(pair<int, int>(2, 1)); map<int, int>::iterator itr;//迭代器 map<int, int>::iterator itr2; //cout << "Mymap中的内容为:" << endl; //for (itr = Mymap.begin(); itr != Mymap.end(); itr++)//元素遍历 //{ // cout << itr->first << " " << itr->second << endl; //} //比较大小(未知m) for (itr = Mymap.begin(); itr != Mymap.end(); itr++)//元素遍历 { for (itr2 = Mymap2.begin(); itr2 != Mymap2.end(); itr2++) { if (itr->first == itr2->first) { string s; stringstream ss; ss << itr->first; ss >> s; if (itr->second > itr2->second) cout << "key为"+s+"Mymap的值更大" << endl; else cout << "kay为"+s+"Mymap2的值更大或相等" << endl; } } } system("pause"); }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 素材场景中光线烘焙后灯光失效
- ¥15 请教一下各位,为什么我这个没有实现模拟点击
- ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
- ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
- ¥20 有关区间dp的问题求解
- ¥15 多电路系统共用电源的串扰问题
- ¥15 slam rangenet++配置
- ¥15 有没有研究水声通信方面的帮我改俩matlab代码
- ¥15 ubuntu子系统密码忘记
- ¥15 保护模式-系统加载-段寄存器