东方耀AI技术分享

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 2306|回复: 0
打印 上一主题 下一主题

[C/C++] map的嵌套与排序规则

[复制链接]

1365

主题

1856

帖子

1万

积分

管理员

Rank: 10Rank: 10Rank: 10

积分
14439
QQ
跳转到指定楼层
楼主
发表于 2021-12-7 11:43:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式



map的嵌套与排序规则



  1. int main(){
  2.     std::cout << "map的嵌套与排序规则" << std::endl;
  3.     // std::map<string, std::map<string, int> > jjj_map;
  4.     // std::map<string, std::map<string, int>, std::less<std::string> > jjj_map;
  5.     std::map<string, std::map<string, int>, std::greater<string> > jjj_map;
  6.     //map 容器存储的都是 pair 类型的键值对元素,更确切的说,该容器存储的都是 pair<const K, T> 类型
  7.     //在使用 map 容器存储多个键值对时,该容器会自动根据各键值对的键的大小,按照既定的规则进行排序
  8.     //可以自定义排序规则
  9.     //map 容器中存储的各个键值对不仅key的值独一无二,键的类型也会用 const 修饰

  10.     jjj_map["c"]["loss"] = 10;
  11.     jjj_map["c"]["num"] = 100;

  12.     jjj_map["b"]["loss"] = 20;
  13.     jjj_map["b"]["num"] = 200;

  14.     jjj_map["a"]["loss"] = 30;
  15.     jjj_map["a"]["num"] = 300;

  16.     //输出当前 jjj_map 容器存储键值对的个数
  17.     cout << "jjj_map size==" << jjj_map.size() << endl;


  18.     for(auto iter = jjj_map.begin(); iter != jjj_map.end(); ++iter){

  19.         // first就是key  second就是value
  20.         cout << iter->first << endl;
  21.         for(auto iter2 = iter->second.begin(); iter2 != iter->second.end(); ++iter2){
  22.             cout << iter2->first << "=" << iter2->second << endl;
  23.         }

  24.     }

  25.    
  26.     return 0;
  27. }
复制代码



让天下人人学会人工智能!人工智能的前景一片大好!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|人工智能工程师的摇篮 ( 湘ICP备2020019608号-1 )

GMT+8, 2024-5-19 18:38 , Processed in 0.167499 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表