28.hashtable实现的容器:hash_set, hash_multiset, hash_map, hash_multimap

C++11中: set, map, mulitset, multimap都是红黑树 unordered系列容器底层都是哈希实现(hashtable) 在C++早些版本中: hash_set, hash_multiset, hash_map, hash_multimap的底层实现也都是哈希结构(hashtable),并且C++11也支持它们

虽然STL只规范复杂度与接口,并不规范实现方法,但STL set多半以RB-tree为底层机制。SGI则是在STL标准规格之外另又提供了一个所谓的hash_set,以hashtable 为底层机制。由于hash_set所供应的操作接口。hashtable都提供了,所以几乎所有的hash_set操作行为,都只是转调用hashtable的操作行为而已。

2.hash_multiset

3.hash_map

4.hash_multimap

hash_set

#include
hash_set特点

1.不排序

2.无重复值

hash_set用法

插入,删除,查找,遍历(正向(常)迭代器, 反向(常)迭代器)都与set类似

感兴趣的话可以观看前面的博文set

hash_multiset

#include
hash_multiset特点

1.不排序

2.值可重复

hash_multiset用法

插入,删除,查找,遍历(正向(常)迭代器,反向(常)迭代器)都与multiset类似

hash_map

#include
hash_multiset特点

1.不排序

2.无重复值

hash_map用法

插入,删除,查找,遍历(正向(常)迭代器,反向(常)迭代器), [key]访问值 都与map类似

hash_multimap

#include
hash_multimap特点

1.不排序

2.值可重复

hash_multimap用法

插入,删除,查找,遍历(正向(常)迭代器,反向(常)迭代器)都与multimap类似

发布了188 篇原创文章 · 获赞 65 · 访问量 8388

猜你喜欢

转载自blog.csdn.net/qq_43808700/article/details/105080636
今日推荐