Problem

3/9

排序列表#2

Theory Click to read/hide

没有按值排序的简单解决方案,因此您必须从字典中创建一个对向量,然后使用比较器对其进行排序。

Problem

构建按词频排序的字母频率字典:每个词右侧的词列表应按降序指示它在源文件中出现的次数。如果单词个数相同,则按字典序逐字排序。正文结束的标志是“END!”。 
  <正文>
输入 输出
一个
两个

一个
两个
两个2
一2
三个1
 
Write the program below
#include<iostream>
#include<vector>
#include <string>
#include <map>
#include <algorithm>
using namespace std;


bool cmp(const pair<string, int>& first,
	const pair<string, int>& second)
{         
}


int main()
{

	map<string, int> mymap;
	string s;
	while (!cin.eof())
	{
		cin>>s;
                 if (s == "END!")
			break;
		mymap[s]++;
	}
	
	vector<pair <string, int> > B( mymap.begin(), mymap.end());
         
	for (int i = 0; i < B.size(); i++)
	{
		cout << B[i].first << " " << B[i].second << endl;

	}
	return 0;
}         

     

Program check result

To check the solution of the problem, you need to register or log in!