Problem

2/9

排序列表#1

Theory Click to read/hide

默认情况下,列表中的数据按升序键排序,经常会发生需要更改此排序顺序的情况。
为此,您可以编写一个比较器来按照您指定的方式定位数据。

按键降序排序的比较器示例(写在 main 之前):

结构 cmp
{
bool operator()(const string &< /span>a, const 字符串 &b) const
{
返回一个> b;
}
};

并在创建列表时使用:

地图<字符串,整数,cmp> ; 我的地图;

Problem

Build Alpha-Frequency Dictionary:按字母顺序排列的单词列表,每个单词的右侧应指示它在源文件中出现的次数。文本结束的标志是“END!”。列表必须按字典降序键排序。
  <正文>
 
输入 输出
一个
两个
一个

两个
一个
结束!
三个1
一 3
两个2
Write the program below
#include<iostream>	
#include <map>
#include<string>
using namespace std;
struct cmp
{
	

       
};

int main() {

	map<string, int, cmp> mymap;
	string s;
	while (!cin.eof())
	{
		cin >> s;
		if (s == "END!")  break;
		mymap[s]++;

	}
	map<string, int>::iterator it;

	for (it = mymap.begin(); it != mymap.end(); ++it)
	cout <<  it->first << " " << it->second << "\n";
	

	return 0;
}

       

     

Program check result

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