1. 程式人生 > 實用技巧 >Cpp:unordered_map的基本用法

Cpp:unordered_map的基本用法

unordered_map 是關聯容器,含有帶唯一鍵的鍵-值 pair 。搜尋、插入和元素移除擁有平均常數時間複雜度。

元素在內部不以任何特定順序排序,而是組織進桶中。元素放進哪個桶完全依賴於其鍵的雜湊。這允許對單獨元素的快速訪問,因為一旦計算雜湊,則它準確指代元素所放進的桶。

一些基本操作

#include<iostream>
#include<unordered_map>

using namespace std;

int main()
{
    //定義容器
    unordered_map<string, int> my_map;
    
    //插入鍵值對
    my_map["apple"] = 10;
    my_map["banana"] = 20;
    
    //獲取頭部的迭代器,以及尾部再向下一的迭代器
    for(auto iter = my_map.begin(); iter != my_map.end(); iter ++)
    {
        cout << iter->first << " :" << iter-> second << endl;
    }
    
    //若容器為空則為 1 ,否則為 0
    cout << my_map.empty() << endl;
    
    //尋找鍵等於 key 的的元素。
    auto search = my_map.find("apple");
    cout << search->second << endl;
    
    //返回擁有比較等於指定引數 key 的關鍵的元素數,因為此容器不允許重複故為 1 或 0 。
    cout << my_map.count("apple") << endl;
    
    return 0;
    
}