map比较key大小排序
时间: 2023-07-29 19:09:13 浏览: 132
对Map的key和value进行排序
在C++中,map按照key的大小排序是默认的行为,也就是说,map会默认按照key的大小升序排序。但是,我们也可以使用自定义的比较函数来改变map的排序方式。
以下是一个按照key大小降序排序的例子:
```c++
#include <iostream>
#include <map>
using namespace std;
struct cmp {
bool operator()(const int& a, const int& b) const {
return a > b;
}
};
int main() {
map<int, int, cmp> mp{{1, 3}, {2, 1}, {3, 5}, {4, 2}, {5, 4}};
for (auto& p : mp) {
cout << p.first << ": " << p.second << endl;
}
return 0;
}
```
在上面的例子中,我们定义了一个自定义比较函数`cmp`,用来比较map中的key。我们把这个自定义比较函数作为map的第三个参数传入,这样map就会按照我们自定义的比较函数来排序。在这个例子中,我们把map按照key的大小降序排序。最后,我们遍历map,输出其中的元素即可。
阅读全文