21xrx.com
2024-12-22 22:45:21 Sunday
登录
文章检索 我的文章 写文章
使用C++中的map函数对姓名和成绩进行排序
2023-07-04 18:41:28 深夜i     --     --
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函数还可以轻松地添加、删除和更新数据。

  
  

评论区

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