关于map的按照value排序输出

2021-04-02 00:30

阅读:699

标签:tor   for   find   笔试   题意   map   问题   out   i++   

关于map的按照value排序输出;会错题意,但是华为实习笔试是这个思路,按照map的value排序输出。

#include
using namespace std;
#include
#include
#include
#include

typedef pair PAIR;
int cmp (PAIR &x, PAIR &y)
{
return x.second > y.second;
}
//按照输入的顺序……
int main()
{
int n = 0;
string name;
string voter;


while(cin >> n)
{
map candidates;
int nVoters = 0;
int invalid = 0;
while(n--)
{
cin >> name;//专门用一个向量来存储输入的顺序,后面遍历向量元素,在map中找到对应的value
candidates[name] = 0;
}
cin >> nVoters;
while(nVoters--)
{
cin >> voter;
if(candidates.find(voter) == candidates.end())
{
invalid ++;
}
else
{
candidates[voter] ++;
}

}


/*
//做一个PAIR类型的向量
vector vec(candidates.begin(), candidates.end());
//对向量排序
sort(vec.begin(),vec.end(),cmp);
//打印输出
for(int i=0;ifirst;而first和second是成员,所以没有括号;对象用的是.运算符:vec[i].first
for(auto it = vec.begin();it != vec.end(); it++)
{
cout first 

  

关于map的按照value排序输出

标签:tor   for   find   笔试   题意   map   问题   out   i++   

原文地址:https://www.cnblogs.com/zlh-1024powr/p/14605039.html


评论


亲,登录后才可以留言!