📅  最后修改于: 2023-12-03 15:40:10.085000             🧑  作者: Mango
Map 排序,也叫字典序排序,是根据 map 容器中的键(key)对其对应的值(value)进行排序的算法。当键值对中键的数据类型不是整数时,不能使用 STL 中的 sort 算法进行排序,需要使用 map 排序的算法。
#include <iostream>
#include <map>
using namespace std;
int main()
{
map<string, int> m{
{"apple", 10},
{"orange", 6},
{"banana", 3},
{"pear", 2},
{"grape", 5}
};
// 使用 map 自带的比较器进行排序
map<string, int>::iterator it;
for (it = m.begin(); it != m.end(); ++it) {
cout << it->first << " : " << it->second << endl;
}
return 0;
}
这段代码定义了一个 map 容器 m,存储了若干个字符串和对应的整数值。通过遍历 map 容器的键值对输出其中的元素,已完成根据字典序排序的目的。
在 map 自带的比较器下,它会自动按照键(也就是字符串)的字典序来对键值对进行排序。
map 排序是很常见的题目和算法,我们可以使用 C++ 中的 map 容器进行排序。只需要在定义容器时规定好键值对的数据类型,map 容器就可以自动根据键的字典序进行排序。