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

C++ 关联式容器之unordered_map

作者:野牛程序员:2024-01-03 18:38:53 C++阅读 2669

C++ 中的无序关联容器 unordered_map 是一种使用哈希表实现的关联容器,它提供了键值对的存储,并且具有快速的查找性能。与 map 不同,unordered_map 中的元素不按照特定顺序存储,而是根据键的哈希值进行组织。

unordered_map 的一些特性包括:

  • 快速的查找、插入和删除操作,平均时间复杂度为 O(1)。

  • 不保持元素的顺序,与键的插入顺序无关。

  • 允许重复的键,但在插入时会忽略重复的键。

以下是 unordered_map 的基本用法示例:

#include <iostream>
#include <unordered_map>
#include <string>

int main() {
    // 创建一个无序关联容器 unordered_map,键是字符串,值是整数
    std::unordered_map<std::string, int> myMap;

    // 插入键值对
    myMap["one"] = 1;
    myMap["two"] = 2;
    myMap["three"] = 3;

    // 访问元素
    std::cout << "Value of key 'two': " << myMap["two"] << std::endl;

    // 查找元素
    auto it = myMap.find("three");
    if (it != myMap.end()) {
        std::cout << "Found key 'three' with value: " << it->second << std::endl;
    } else {
        std::cout << "Key 'three' not found." << std::endl;
    }

    // 遍历所有键值对
    for (const auto& pair : myMap) {
        std::cout << "Key: " << pair.first << ", Value: " << pair.second << std::endl;
    }

    return 0;
}

请注意,由于 unordered_map 使用哈希表实现,因此键类型必须提供一个哈希函数和相等比较函数。

野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
相关推荐

最新推荐

热门点击