当前位置:首页 C++ > 正文

C++程序按值对字典进行排序

作者:野牛程序员:2023-12-22 08:44:27 C++阅读 2180

使用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
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
相关推荐

最新推荐

热门点击