1、unordered_map是儲存鍵值對的關聯式容器,其允許通過key快速的索引到與其對應的value函式宣告2、unordered_map中,鍵值通常用於惟一的標識元素,而對映值是乙個物件,其內容與此鍵關聯,鍵和對映的型別可以不同
3、在內部,unordered_map沒有對進行排序,unordered_map將相同雜湊值的鍵值對放在對應的桶中
4、unordered_map容器通過key訪問單個元素比map快,但它遍歷元素子集的範圍和迭代方面效率較低
5、unordered_map實現了直接訪問操作符(operator)允許通過key作為引數訪問value
6、unordered_map的迭代器至少是前向迭代器
功能介紹
explicit unordered_map ( size_type n = /* see below */,const hasher& hf = hasher(),const key_equal& eql = key_equal(),const allocator_type& alloc = allocator_type() );
構造乙個空的unordered_map
explicit unordered_map ( const allocator_type& alloc );
構造乙個空的unordered_map
template unordered_map ( inputiterator first, inputiterator last,size_type n = /* see below */,const hasher& hf = hasher(),const key_equal& eql = key_equal(),const allocator_type& alloc = allocator_type() );
用[first,last)區間中的元素構造unordered_map
unordered_map ( const unordered_map& ump );
unordered_map的拷貝構造
unordered_map ( const unordered_map& ump, const allocator_type& alloc );
unordered_map的拷貝構造
unordered_map ( unordered_map&& ump );
將ump移動到另外乙個unordered_map中
unordered_map ( unordered_map&& ump, const allocator_type& alloc );
將ump移動到另外乙個unordered_map中
unordered_map ( initializer_listil,size_type n = /* see below */,const hasher& hf = hasher(),const key_equal& eql = key_equal(),const allocator_type& alloc = allocator_type() );
將initializer_list移動到unordered_map中
函式宣告
功能介紹
begin
返回unordered_map第乙個元素的迭代器
end返回unordered_map最後乙個元素下乙個位置的迭代器
cbegin
返回unordered_map第乙個元素的const迭代器
cend
返回unordered_map最後乙個元素下乙個位置的const迭代器
函式宣告
功能介紹
bool empty() const
檢測unordered_map是否為空
size_t size() const
獲取unordered_map的有效元素個數
operator
返回與key對應的value,沒有乙個預設值
iterator find(const k& key)
返回key在雜湊桶中的位置
size_t count(const k& key)
返回雜湊桶中關鍵碼為key的鍵值對的個數
insert
向容器中插入鍵值對
erase
刪除容器中的鍵值對
void clear()
清空容器中有效元素個數
void swap(unordered_map&)
交換兩個容器中的元素
size_t bucket_count()const
返回雜湊桶中桶的總個數
size_t bucket_size(size_t n)const
返回n號桶中有效元素的總個數
size_t bucket(const k& key)
返回元素key所在的桶號
#include using namespace std;
#include int main()
, };
pairmyshopping("baking powder", 0.3);
myrecipe.insert(myshopping); // copy insertion
myrecipe.insert(pair("eggs", 6.0)); // move insertion
myrecipe.insert(mypantry.begin(), mypantry.end()); // range insertion
myrecipe.insert(, }); // initializer list insertion
unordered_mapmymap;
// populating container:
mymap["u.s."] = "washington";
mymap["u.k."] = "london";
mymap["france"] = "paris";
mymap["russia"] = "moscow";
mymap["china"] = "beijing";
mymap["germany"] = "berlin";
mymap["japan"] = "tokyo";
// erase examples:
mymap.erase(mymap.begin()); // erasing by iterator
mymap.erase("france"); // erasing by key
mymap.erase(mymap.find("china"), mymap.end()); // erasing by range
//capacity examples:
cout << mymap.size() << endl;
cout << mymap.empty() << endl;
mymap.clear();
cout << mymap.size() << endl;
cout << mymap.empty() << endl;
system("pause");
return 0;
}
unordered map的介紹與使用
1.unordered map是儲存鍵值對的關聯式容器,其允許通過key快速的索引到與其對應的 value。2.在unordered map中,鍵值通常用於惟一地標識元素,而對映值是乙個物件,其內容與此鍵關聯。鍵 和對映值的型別可能不同。3.在內部,unordered map沒有對按照任何特定的順序...
unordered map,雜湊結構
c 11中新增4個unordered系列關聯式容器 unordered map說明 unordered map的容量 函式宣告 功能介紹 bool empty const 檢測unordered map是否為空 size t size 獲取unordered map的有效元素個數 unordered...
unordered map和map的區別
boost unordered map,它與 stl map的區別就是,stl map是按照operator 比較判斷元素是否相同,以及比較元素的大小,然後選擇合適的位置插入到樹中。所以,如果對map進行遍歷 中序遍歷 的話,輸出的結果是有序的。順序就是按照operator 定義的大小排序。而boo...