C++程序按值对字典进行排序
作者:野牛程序员:2023-12-22 08:44:27 C++阅读 2673
使用C++对字典按值进行排序可以通过使用std::map
和自定义比较函数来实现。以下是一个简单的示例代码:
#include <iostream> #include <map> #include <algorithm> #include <vector> // 自定义比较函数,用于按值比较两个键值对 bool sortByValue(const std::pair<std::string, int>& a, const std::pair<std::string, int>& b) { return a.second < b.second; } int main() { // 创建一个包含键值对的字典 std::map<std::string, int> myMap; myMap["apple"] = 5; myMap["banana"] = 2; myMap["orange"] = 8; myMap["grape"] = 3; // 将字典中的键值对存储到 vector 中 std::vector<std::pair<std::string, int>> myVector(myMap.begin(), myMap.end()); // 使用自定义比较函数按值对 vector 进行排序 std::sort(myVector.begin(), myVector.end(), sortByValue); // 打印排序后的结果 for (const auto& pair : myVector) { std::cout << pair.first << ": " << pair.second << std::endl; } return 0; }
这个程序首先将字典的键值对存储到一个std::vector
中,然后使用std::sort
函数和自定义的比较函数sortByValue
对 vector 中的元素按值进行排序。最后,打印排序后的结果。
野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
- 上一篇:什么是字典序排序
- 下一篇:C++ 程序:按字典顺序对元素进行排序