qq_36604562 2018-11-01 11:24 采纳率: 100%
浏览 1300
已采纳

比较两个map同一个kev的value值大小

比如我现在有一个map 的m=1(这里的m可以变化也可能比2大也可能比2小)
另一个map的m为<2 请问这里怎么写判断 如果小于2就写个提示 大于话就不用提示

  • 写回答

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 保护模式-系统加载-段寄存器