最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

C++ STL unordered_map解析

2023-02-09 22:55 作者:神兮兮的喵社長  | 我要投稿

C++ 11標(biāo)準(zhǔn)中加入了unordered系列的容器。unordered_map記錄元素的hash值,根據(jù)hash值判斷元素是否相同。map相當(dāng)于java中的TreeMap,unordered_map相當(dāng)于HashMap。無論從查找、插入上來說,unordered_map的效率都優(yōu)于hash_map,更優(yōu)于map;而空間復(fù)雜度方面,hash_map最低,unordered_map次之,map最大。

unordered_map與map的對比:

  存儲時(shí)是根據(jù)key的hash值判斷元素是否相同,即unordered_map內(nèi)部元素是無序的,而map中的元素是按照二叉搜索樹存儲(用紅黑樹實(shí)現(xiàn)),進(jìn)行中序遍歷會得到有序遍歷。所以使用時(shí)map的key需要定義operator<。而unordered_map需要定義hash_value函數(shù)并且重載operator==。但是很多系統(tǒng)內(nèi)置的數(shù)據(jù)類型都自帶這些。

unordered_map與hash_map對比:

  unordered_map原來屬于boost分支和std::tr1中,而hash_map屬于非標(biāo)準(zhǔn)容器。
  unordered_map感覺速度和hash_map差不多,但是支持string做key,也可以使用復(fù)雜的對象作為key。
  unordered_map編譯時(shí)gxx需要添加編譯選項(xiàng):--std=c++11


成員函數(shù):

=================迭代器=========================
begin   返回指向容器起始位置的迭代器(iterator)
end    返回指向容器末尾位置的迭代器
cbegin  返回指向容器起始位置的常迭代器(const_iterator)
cend    返回指向容器末尾位置的常迭代器
=================Capacity================
size    返回有效元素個(gè)數(shù)
max_size 返回 unordered_map 支持的最大元素個(gè)數(shù)
empty 判斷是否為空
=================元素訪問=================
operator[]    訪問元素
at        訪問元素
=================元素修改=================
insert   插入元素
erase   刪除元素
swap    交換內(nèi)容
clear   清空內(nèi)容
emplace  構(gòu)造及插入一個(gè)元素
emplace_hint 按提示構(gòu)造及插入一個(gè)元素
================操作=========================
find       通過給定主鍵查找元素,沒找到:返回unordered_map::end
count      返回匹配給定主鍵的元素的個(gè)數(shù)
equal_range   返回值匹配給定搜索值的元素組成的范圍
================Buckets======================
bucket_count    返回槽(Bucket)數(shù)
max_bucket_count 返回最大槽數(shù)
bucket_size     返回槽大小
bucket       返回元素所在槽的序號
load_factor     返回載入因子,即一個(gè)元素槽(Bucket)的最大元素?cái)?shù)
max_load_factor   返回或設(shè)置最大載入因子
rehash       設(shè)置槽數(shù)
reserve       請求改變?nèi)萜魅萘?/p>








C++ STL unordered_map解析的評論 (共 條)

分享到微博請遵守國家法律
土默特左旗| 江口县| 宁都县| 许昌市| 巴楚县| 南乐县| 尤溪县| 武鸣县| 巩留县| 湖州市| 雷山县| 闸北区| 五家渠市| 炎陵县| 江北区| 类乌齐县| 伊宁县| 仙居县| 怀安县| 贵州省| 玛沁县| 南城县| 琼中| 宣城市| 民勤县| 丹阳市| 措美县| 晋宁县| 隆昌县| 余干县| 个旧市| 大竹县| 长岛县| 福贡县| 吴川市| 日喀则市| 榕江县| 南江县| 沈丘县| 金门县| 湖北省|