如何在c++中正確使用hash_map

c++
小樊
86
2024-07-17 16:29:45

在C++中,使用std::unordered_map來(lái)實(shí)現(xiàn)哈希表。std::unordered_map是C++標(biāo)準(zhǔn)庫(kù)中的一個(gè)容器,它提供了一種鍵值對(duì)的映射關(guān)系,并且具有O(1)的查找時(shí)間復(fù)雜度。

下面是一個(gè)示例代碼,演示了如何在C++中正確使用std::unordered_map

#include <iostream>
#include <unordered_map>

int main() {
    // 創(chuàng)建一個(gè)unordered_map
    std::unordered_map<std::string, int> myMap;

    // 插入鍵值對(duì)
    myMap["apple"] = 5;
    myMap["banana"] = 3;
    myMap["orange"] = 7;

    // 查找元素
    std::string key = "banana";
    if (myMap.find(key) != myMap.end()) {
        std::cout << key << " : " << myMap[key] << std::endl;
    } else {
        std::cout << key << " not found" << std::endl;
    }

    // 遍歷unordered_map
    for (auto it = myMap.begin(); it != myMap.end(); ++it) {
        std::cout << it->first << " : " << it->second << std::endl;
    }

    return 0;
}

在上面的代碼中,首先創(chuàng)建了一個(gè)std::unordered_map對(duì)象myMap,然后插入了幾個(gè)鍵值對(duì)。接著通過(guò)find()方法查找指定的鍵值對(duì),并且遍歷了整個(gè)std::unordered_map對(duì)象。

0