C++中使用hashmap

在C++中,标准库提供了unordered_map容器,它是一个哈希表实现的关联容器,可以使用键-值对来存储和检索数据。与map容器相比,unordered_map的访问速度更快,因为它使用哈希表进行存储和检索操作,而不是红黑树。

使用unordered_map时,需要包含头文件<unordered_map>。下面是一个简单的示例代码,展示了如何使用unordered_map来存储和检索键值对:

#include <iostream>
#include <unordered_map>
using namespace std;

int main() {
    unordered_map<string, int> myMap;

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

    // 检索键值对
    cout << myMap["one"] << endl;    // 输出1
    cout << myMap["four"] << endl;   // 输出0,因为四不存在于哈希表中,返回默认值0

    // 遍历哈希表
    for (auto &pair : myMap) {
        cout << pair.first << ": " << pair.second << endl;
    }

    return 0;
}

在这个例子中,我们使用unordered_map来创建一个键类型为string,值类型为int的哈希表。然后我们向哈希表中添加了一些键值对,使用[]操作符来检索键值对。如果某个键不存在于哈希表中,[]操作符将自动添加该键并将其值初始化为默认值0。我们还使用了一个for循环来遍历哈希表中的所有键值对,并输出它们的值。

猜你喜欢

转载自blog.csdn.net/weixin_64089259/article/details/130139911
今日推荐