stl map排序,c++如何根据value值对map排序

  stl map排序,c++如何根据value值对map排序

  标准模板库中地图按值(值)排序-万鹏编码器-博客频道CSDN .网

  标准模板库中地图按值(值)排序

  分类:

  C/C

  2010-11-06 14:45

  912人阅读

  评论(0)

  收藏

  举报文中的部分内容参考自互联网,感谢作者。

  地图默认是按照键(关键)排序的。很多时候我们需要按值(值)排序,靠地图里的

  算法当然是不行的,那么可以把它转存到矢量中,在对矢量按照一定的规则排序即可。

  [cpp:显示列]查看plaincopyprint?

  10 20 30 40 50 60 70 80 90 100 110 120 130 140 150//示例代码:输入单词,统计单词出现次数并按照单词出现次数从多到少排序# include cstdlib # include map # include vector # include string # include algorithm # include iostream voidsortMapByValue(STD:map STD:string,int tMap,STD:vector STD:pair STD:string,int t vector);int CMP(conststd:pair std:string,int x,const STD:pair STD:string,int y);intmain(){std:map std:string,int tmap STD:string word;while(STD:CIN词){ STD:pair STD:map STD:string,int :iterator,bool ret=tmap。insert(STD:make _ pair(word,1));如果(!ret。第二)ret。第一-第二;} STD:vector STD:pair STD:string,int tVectorsortMapByValue(tMap,t vector);for(inti=0;向量。size();I){ STD:cout TV vector[I].first : tVector[i].第二STD:endl;}系统(暂停);return 0 } int CMP(conststd:pair std:string,int x,const STD:pair STD:string,int y){ returnx。秒y秒;} voidsortMapByValue(STD:map STD:string,int tMap,STD:vector STD:pair STD:string,int t vector){ for(STD:map STD:string,int:iterator curr=tMap。begin();curr!=tmap。end();curr){ t向量。push _ back(STD:make _ pair(curr-first,curr-second));}std:sort(tVector.begin()、tVector.end()、CMP);}

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • office2010激活密钥大全 怎么永久激活office2010
  • project2010产品密钥免费_project2010激活密钥永久激活码
  • c语言调用退出函数 c语言退出整个程序怎么写
  • c语言中怎么给函数初始化 c语言的初始化语句
  • c语言编写函数计算平均值 c语言求平均函数
  • chatgpt是什么?为什么这么火?
  • ChatGPT为什么注册不了?OpenAI ChatGPT的账号哪里可以注册?
  • OpenAI ChatGPT怎么注册账号?ChatGPT账号注册教程
  • chatgpt什么意思,什么是ChatGPT ?
  • CAD中怎么复制图形标注尺寸不变,CAD中怎么复制图形线性不变
  • cad中怎么创建并使用脚本文件,cad怎么运行脚本
  • cad中快速计算器的功能,cad怎么快速计算
  • cad中快速修改单位的方法有哪些,cad中快速修改单位的方法是
  • cad中心点画椭圆怎么做,cad轴测图怎么画椭圆
  • CAD中常用的快捷键,cad各种快捷键的用法
  • 留言与评论(共有 条评论)
       
    验证码: