unordered map的介紹及使用

2021-10-06 14:39:31 字數 3582 閱讀 4902

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...