在C++的map类型中按value排序
1.将map转化为vector类型
2.使用sort函数对vector进行排序,写出compare比较器函数
3.比较器中指明按照第几个元素来排序
1 #include <iostream>
2 #include <map>
3 #include <algorithm>
4 #include <vector>2017-04-19
5 using namespace std;
6
7 /* run this program using the console pauser or add your own getch, system("pause") or input loop */
8 typedef pair<string, int> PAIR;
9 //第一种方式
10 struct ValueSort{
11 /*
12 bool operator()(const pair<string,int> &val1,const pair<string,int> &val2) {
13 return val1.second < val2.second;
14 }
15 */
16 bool operator()(const PAIR& lhs, const PAIR& rhs) {
17 return lhs.second > rhs.second;
18 }
19 };
20
21 //第二种方式
22 bool cmp_by_value(const PAIR& lhs, const PAIR& rhs) {
23 //return lhs.second < rhs.second || (lhs.second == rhs.second && lhs.first >= rhs.first);
24 return lhs.second < rhs.second;//第二个元素从小到大排序
25 }
26
27 int main() {
28 map<string, int> name_score_map;
29 name_score_map["LiMin"] = 90;
30 name_score_map["ZiLinMi"] = 79;
31 name_score_map["ZiLinMi"] = 90;
32 name_score_map["BoB"] = 92;
33 name_score_map.insert(make_pair("Bing",99));
34 name_score_map.insert(make_pair("Albert",86));
35 PAIR pout;
36 //把map中元素转存到vector中
37 vector<PAIR> name_score_vec(name_score_map.begin(), name_score_map.end());
38
39 sort(name_score_vec.begin(), name_score_vec.end(), cmp_by_value);//第一种
40 //sort(name_score_vec.begin(), name_score_vec.end(), ValueSort());//第二种
41
42 for (int i = 0; i != name_score_vec.size(); ++i) {
43 pout = name_score_vec[i];
44 cout <<pout.first<<" "<<pout.second<<endl;
45 }
46
47 return 0;
48 }

在C++的map类型中按value排序的更多相关文章
- C++容器(四):map类型
map 类型 map是键-值对的集合.map类型通常可以理解为关联数组:可以使用键作为下标来获取一个值,正如内置数组类型一样.而关联的本质在于元素的值与某个特定的键相关联,而非通过元素在数组内的位置来 ...
- zk框架中利用map类型传值来创建window,并且传值
@Command @NotifyChange("accList") public void clear(@BindingParam("id") String a ...
- struts2学习笔记(2)---Action中訪问ServletAPI获取Map类型的Servlet元素
源码: strust.xml <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts ...
- 键盘录入一个文件夹路径,统计该文件夹(包含子文件夹)中每种类型的文件及个数,注意:用文件类型(后缀名,不包含.(点),如:"java","txt")作为key, 用个数作为value,放入到map集合中,遍历map集合
package cn.it.zuoye5; import java.io.File;import java.util.HashMap;import java.util.Iterator;import ...
- Map java中的map 如何修改Map中的对应元素
Map java中的map 如何修改Map中的对应元素 Map以按键/数值对的形式存储数据,和数组非常相似,在数组中存在的索引,它们本身也是对象. Map的接口 Map ...
- Flex ActionScript版本的Map类型
ActionScript中没有Map类型,因为Object就相当于Map了.Object的属性相当于key,值相当于value. 也就是说,没有必要有Map类型.但是,这样做,也会带来一些问题,造成不 ...
- C++map类型
map是键-值对的集合,可以理解为关联数组,可以使用键作为下标来获取一个值 本文地址:http://www.cnblogs.com/archimedes/p/cpp-map.html,转载请注明源地址 ...
- Hibernate执行原生SQL返回List<Map>类型结果集
我是学java出身的,web是我主要一块: 在做项目的时候最让人别扭的就是hibernate查询大都是查询出List<T>(T指代对应实体类)类型 如果这时候我用的联合查询,那么返回都就是 ...
- Play Framework常用标签list,set,如何遍历list、map类型数据
最近一段时间的项目都是在Play这个框架上进行开发的,挺强大的,但不足之处也挺多的.今天分享下play中强大的标签,遍历list,map类型的数据的用法. 遍历单纯的list数据,例如:List< ...
随机推荐
- Go语言核心36讲(Go语言进阶技术十二)--学习笔记
18 | if语句.for语句和switch语句 现在,让我们暂时走下神坛,回归民间.我今天要讲的if语句.for语句和switch语句都属于 Go 语言的基本流程控制语句.它们的语法看起来很朴素,但 ...
- TDengine在浙商银行微服务监控中的实践
作者:楼永红 王轩宇|浙商银行 浙商银行股份有限公司(简称"浙商银行")是 12 家全国性股份制商业银行之一,总部设在浙江杭州,全国第13家"A+H"上市 ...
- 从拥有一个阿里云账号开始使用Maxcompute
本教程并不会创建子账户来管理maxcompute,是直接使用主账号来对maxcompute进行管理(强烈不推荐在生产环境中这样做!!) Step1:创建阿里云账号并实名认证 创建一个阿里云账号(使 ...
- 初步认识express,并创建web服务器,挂载静态资源
1.Express简介 1.1什么是Express 官方给出的概念:Express 是基于 Node.js 平台,快速.开放.极简的 Web 开发框架,官方网址 相似用途:Express 的作用和 N ...
- Sentinel-Go 源码系列(二)|初始化流程和责任链设计模式
上节中我们知道了 Sentinel-Go 大概能做什么事情,最简单的例子如何跑起来 其实我早就写好了本系列的第二篇,但迟迟没有发布,感觉光初始化流程显得有些单一,于是又补充了责任链模式,二合一,内容显 ...
- 【python+postman接口自动化测试】(1)网络基础知识
一.IP地址 就像每个人都有一个身份证号码 IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址. 查看IP命令: Windows: ipconfig Li ...
- springboot注解之容器功能
添加组件 @Configuration.@Bean //以swagger为例 @Configuration(proxyBeanMethods = false) @EnableSwagger2 //使用 ...
- Unicode、UTF-8、UTF-16 终于懂了
计算机起源于美国,上个世纪,他们对英语字符与二进制位之间的关系做了统一规定,并制定了一套字符编码规则,这套编码规则被称为ASCII编码 ASCII 编码一共定义了128个字符的编码规则,用七位二进制表 ...
- Python - 一行代码查看当前操作系统默认的编码标准
一句代码 在 cmd 中执行 > python3 -c 'import locale; print(locale.getpreferredencoding())' UTF-8
- 『学了就忘』Linux软件包管理 — 45、yum源文件详细说明
目录 1.yum源文件解析 2.查看yum源文件 3.搭建本地光盘yum源 第一步: 第二步: 第三步: 提示:RPM包的在线安装就是yum安装,yum安装需要依据yum源文件内容配置来寻找软件.本文 ...