涉及到的map按value排序问题
2017-09-09 13:52
127 查看
#include<map> #include<set> #include<iostream> #include<algorithm> #include<string> #include<vector> using namespace std; struct CmpByValue { bool operator()(const pair<string, int> & lhs, const pair<string, int> & rhs) { return lhs.second > rhs.second; }//从大到小 }; int main(){ int n1,n2; while (cin>>n1>>n2){ int l1 = 0, l2 = 0; int t; vector<int> m1 = {}; for (int i = 0; i < n1; i++){ cin >> t; m1.push_back(t); } sort(m1.begin(), m1.end()); string s; map<string, int> m2 = {}; for (int i = 0; i < n2; i++){ cin >> s; m2[s]++; } vector<pair<string, int> > vec(m2.begin(), m2.end());//把map中元素转存到vector中 sort(vec.begin(), vec.end(), CmpByValue()); int j = 0; for (auto i = vec.begin(); i != vec.end(); i++){ l1 += (i->second)*m1[j];//显然i->second为value,i->first为key l2 += (i->second)*m1[n1-1-j]; j++; } cout << l1 << " " << l2 << endl; } return 0; }map默认情况下按照key排序!
相关文章推荐
- map key value的排序问题
- map按value排序的问题
- map实现按value排序功能
- Android 对Map按key和value分别排序的实例
- 涉及_map排序_随机字符串
- 【Stackoverflow好问题】Map<Key,Value>基于Value值排序
- 关于map的数据排序问题(hashmap,treemap)
- Map排序问题
- C++ STL中Map的相关排序操作:按Key排序和按Value排序 - 编程小径 - 博客频道 - CSDN.NET
- Map排序,获取map的第一值,根据value取key等操作(数据预处理)
- 浅谈JsonObject中的key-value数据解析排序问题
- 动态规划(1) 编程题#2: 滑雪(C++ STL中Map的按Key排序和按Value排序,memset函数直接将数组中的元素全部置成某个数,常函数)
- C++ map容器 按照value值排序
- C++ STL中Map的按Key排序和按Value排序
- Java Map 按Key排序和按Value排序
- java map 排序的问题
- 【JAVA语言基础】map以value进行排序
- 对Map里面的key和value按字母排序
- Map<String, Double>实现value值的排序
- 对<String,Double>类型的Map根据Value数值由大到小排序