您的位置:首页 > 产品设计 > UI/UE

map如何按value来排序------用带pair的vector吧

2016-06-25 21:11 447 查看
       我们知道, map是按照key来排序的, 那么, map如何按value来排序呢?------用带pair的vector吧。 看代码, 不说话:

#include <iostream>
#include <string>
#include <utility> // pair
#include <vector>
#include <algorithm>
using namespace std;

bool comp(const pair<int, string> &a, const pair<int, string> &b)
{
return a.second < b.second;
}

int main()
{
using namespace std;

vector<pair<int, string> > vec;

vec.push_back(make_pair<int, string>(15, "def"));
vec.push_back(make_pair<int, string>(14, "abcd"));
vec.push_back(make_pair<int, string>(16, "abc"));

sort(vec.begin(), vec.end(), comp);

vector<pair<int, string> >::iterator it;

for(it = vec.begin(); it != vec.end(); ++it)
{
cout << it->second << endl;
}

return 0;
}
       结果:

abc

abcd

def
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: