21xrx.com
2024-11-05 12:14:13 Tuesday
登录
文章检索 我的文章 写文章
C++ map中使用greater进行键值排序
2023-07-01 14:28:22 深夜i     --     --
C++ map greater 键值 排序

C++中的map容器是一个非常方便的数据结构,它可以将一系列的键值对进行存储和管理。在默认情况下,map会使用键值进行升序排序,使用less作为默认的排序规则。然而,在某些情况下,我们需要降序排列map的键值对,这就需要使用greater排序规则。

greater排序规则是STL库中提供的一个降序排序函数对象,它可以作为map容器的第三个模板参数来指定排序规则。使用greater排序规则的方法非常简单,只需要在map定义时指定greater作为排序规则即可。

下面是一个使用greater排序规则对map容器进行降序排序的示例:


#include <iostream>

#include <map>

using namespace std;

int main()

{

  map<int, string, greater<int>> Map;

  Map.insert(make_pair(1, "one"));

  Map.insert(make_pair(4, "four"));

  Map.insert(make_pair(3, "three"));

  Map.insert(make_pair(2, "two"));

  // 输出降序排序后的map

  for (auto it = Map.begin(); it != Map.end(); it++)

    cout << it->first << " : " << it->second << endl;

  

  return 0;

}

在上面的示例中,我们首先定义了一个名为Map的map容器,并使用greater 作为其排序规则。接下来,我们向map中插入4个键值对,并在输出时遍历整个map,输出排序结果。

使用greater排序规则可以按照键值对的键降序排列map容器,这在某些场景下非常有用。然而,需要注意的是,由于greater排序规则是STL库中的一个函数对象,因此在使用时需要包含 头文件。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复