c++ unordered_set的使用


成員方法 功能
begin() 返回指向容器中第一個元素的正向迭代器。
end(); 返回指向容器中最后一個元素之后位置的正向迭代器。
cbegin() 和 begin() 功能相同,只不過其返回的是 const 類型的正向迭代器。
cend() 和 end() 功能相同,只不過其返回的是 const 類型的正向迭代器。
empty() 若容器為空,則返回 true;否則 false。
size() 返回當前容器中存有元素的個數。
max_size() 返回容器所能容納元素的最大個數,不同的操作系統,其返回值亦不相同。
find(key) 查找以值為 key 的元素,如果找到,則返回begin();反之,則返回一個指向容器中最后一個元素之后位置的迭代器(如果 end() 方法返回的迭代器)。
count(key) 在容器中查找值為 key 的元素的個數。
equal_range(key) 返回一個 pair 對象,其包含 2 個迭代器,用於表明當前容器中值為 key 的元素所在的范圍。
emplace() 向容器中添加新元素,效率比 insert() 方法高。
emplace_hint() 向容器中添加新元素,效率比 insert() 方法高。
insert() 向容器中添加新元素。
erase() 刪除指定元素。
clear() 清空容器,即刪除容器中存儲的所有元素。
swap() 交換 2 個 unordered_map 容器存儲的元素,前提是必須保證這 2 個容器的類型完全相等。
bucket_count() 返回當前容器底層存儲元素時,使用桶(一個線性鏈表代表一個桶)的數量。
max_bucket_count() 返回當前系統中,unordered_map 容器底層最多可以使用多少桶。
bucket_size(n) 返回第 n 個桶中存儲元素的數量。
bucket(key) 返回值為 key 的元素所在桶的編號。
load_factor() 返回 unordered_map 容器中當前的負載因子。負載因子,指的是的當前容器中存儲元素的數量(size())和使用桶數(bucket_count())的比值,即 load_factor() = size() / bucket_count()。
max_load_factor() 返回或者設置當前 unordered_map 容器的負載因子。
rehash(n) 將當前容器底層使用桶的數量設置為 n。
reserve() 將存儲桶的數量(也就是 bucket_count() 方法的返回值)設置為至少容納count個元(不超過最大負載因子)所需的數量,並重新整理容器。
hash_function() 返回當前容器使用的哈希函數對象。
遍歷:
方法1:使用auto遍歷

unordered_map<int, int> map;
for (auto v : map) {
cout << v.first << v.second() << endl;
}

方法2:使用迭代器遍歷

unordered_map<int, int> map;
for (unordered_map<int, int>::iterator = map.begin(); it != map.end(); it++) {
cout << it->first <<  it->second()  << endl;
}

參考鏈接:http://c.biancheng.net/view/7250.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM