Cpp:unordered_map的基本用法
阿新 • • 發佈:2020-12-07
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; }