比如我现在有一个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 delta降尺度计算的一些细节,有偿
- ¥15 Arduino红外遥控代码有问题
- ¥15 数值计算离散正交多项式
- ¥30 数值计算均差系数编程
- ¥15 redis-full-check比较 两个集群的数据出错
- ¥15 Matlab编程问题
- ¥15 训练的多模态特征融合模型准确度很低怎么办
- ¥15 kylin启动报错log4j类冲突
- ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大
- ¥15 import arcpy出现importing _arcgisscripting 找不到相关程序