Problem

2/9

Danh sách được sắp xếp #1

Theory Click to read/hide

Theo mặc định, dữ liệu trong danh sách được sắp xếp theo khóa theo thứ tự tăng dần, thường xảy ra trường hợp cần phải thay đổi thứ tự sắp xếp này.
Để làm điều này, bạn có thể viết một bộ so sánh sẽ định vị dữ liệu như bạn chỉ định.

Một ví dụ về bộ so sánh sắp xếp theo thứ tự giảm dần của khóa (được viết trước chính):

cấu trúc cmp
{
bool toán tử()(const string &< /span>a, const chuỗi &b) const
{
trả lại một > b;
}
};

và được sử dụng khi tạo danh sách:

map<string, int, cmp> ; mymap;

Problem

Xây dựng từ điển tần số alpha: danh sách các từ theo thứ tự bảng chữ cái, ở bên phải của mỗi từ sẽ cho biết số lần từ đó xuất hiện trong tệp nguồn. Dấu hiệu kết thúc văn bản là "HẾT!". Danh sách phải được sắp xếp theo khóa theo thứ tự từ điển giảm dần.
 
 
Đầu vào Đầu ra
một
hai
một
ba
hai
một
KẾT THÚC!
ba 1
một 3
hai 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!