21xrx.com
2025-07-09 19:54:48 Wednesday
登录
文章检索 我的文章 写文章
使用C++中的map函数对姓名和成绩进行排序
2023-07-04 18:41:28 深夜i     25     0
C++ Map函数 姓名 成绩 排序

在C++编程中,使用map函数可以对姓名和成绩进行排序。map函数可以将数据存储在键值对中,其中键是姓名,值是成绩。然后,使用sort函数对键值对进行排序。

首先,需要包含头文件iostream和map:

#include <iostream>
#include <map>

接下来,定义一个map变量来存储姓名和成绩:

std::map<std::string, int> grades;

这个变量将存储字符串类型的键和整数类型的值。

然后,使用insert()函数向map中添加数据:

grades.insert(std::pair<std::string, int>("Alice", 90));
grades.insert(std::pair<std::string, int>("Bob", 80));
grades.insert(std::pair<std::string, int>("Charlie", 70));
grades.insert(std::pair<std::string, int>("David", 60));

接下来,使用sort()函数对map中的键值对进行排序:

std::vector<std::pair<std::string, int>> sorted_grades(grades.begin(), grades.end());
std::sort(sorted_grades.begin(), sorted_grades.end(), [](const std::pair<std::string, int> &left, const std::pair<std::string, int> &right)
  return left.second > right.second;
);

这个代码片段中,我们首先将原始的map存储在一个向量中,然后使用sort()函数排序。lambda表达式定义了如何比较两个键值对,以便排序。

最后,可以输出排序后的结果:

for (const auto &grade : sorted_grades)
  std::cout << grade.first << ": " << grade.second << std::endl;

这会输出按成绩降序排列的姓名。

使用C++中的map函数对姓名和成绩进行排序,可以让你更轻松地操纵和组织数据。此外,使用C++的map函数还可以轻松地添加、删除和更新数据。

  
  

评论区