set/multiset map/multimap hash_set/hash_multiset hash_map/hash_multimap 区别与联系
来源:互联网 发布:桌面手机支架 知乎 编辑:程序博客网 时间:2024/06/07 04:05
set/multiset
联系
底层使用红黑树作为数据结构
set/multiset 特性是所有元素都会根据元素键值自动排序,set/multiset元素的键值就是实值,实值就是键值。
不能通过迭代器来修改set/multiset的实值因为他们的实值就是键值,修改后可能不满足其排列规则
set/multiset拥有与list相同的某些性质:当客户对他的元素进行insert或erase是操作之前的所有迭代器在操作完成之后依然有效。被删除元素是例外
STL特别提供了一组set/multiset相关算法包括交集set_intersection、联集set_union、差集set_difference、对称差集set_symmetric_difference
区别
set不允许两个元素拥有相同键值所以底层插入使用红黑树的insert_unique、multiset允许两个元素拥有相同键值所以得出插入使用insert_equal
map/multimap
联系
底层使用红黑树作为数据结构
map/multimap特性所有的元素根据元素的键值自动排序,map/multimap所有元素的是pair同时拥有实值(value)和键值(key),pair的第一个元素被视为键值第二个元素被视为实值
可以通过map/multimap的迭代器来修改map/multimap的实值但是不能修改map/multimap的键值,因为键值关系着map/multimap的排列规则
map/multimap拥有与list相同的某些性质:当客户对他的元素进行insert或erase是操作之前的所有迭代器在操作完成之后依然有效。被删除元素是例外
区别
map不允许两个元素拥有相同键值所以底层插入使用红黑树的insert_unique、multimap允许两个元素拥有相同键值所以得出插入使用insert_equal
set/multiset hash_set/hash_multiset
联系
都是为了提高查找效率
提供的接口和使用方法完全相同
区别
hash_set/hash_multiset底层使用的是hashtable,其所提供的所有接口hashtable都提供了因此几乎hash_set/hash_multiset的接口都是转调hashtable的接口
红黑树有自动排序功能而hashtable没有,所以set/multiset的原素自动排序而hash_set/hash_multiset没有
map/multimap hash_map/hash_multimap
联系
都是为了提高查找效率
提供的接口和使用方法完全相同
联系
hash_set/hash_multiset底层使用的是hashtable,其所提供的所有接口hashtable都提供了因此几乎hash_set/hash_multiset的接口都是转调hashtable的接口
红黑树有自动排序功能而hashtable没有,所以set/multiset的原素自动排序而hash_set/hash_multiset没有
- set/multiset map/multimap hash_set/hash_multiset hash_map/hash_multimap 区别与联系
- STL容器:set/map/multiset/multimap 与hash_set/hash_map/hash_multiset/hash_multimap
- STL容器:set/map/multiset/multimap 与hash_set/hash_map/hash_multiset/hash_multimap
- map、set、multimap、multiset、hash_map、hah_set、hash_multimap、hash_multiset
- hash_set,hash_map,hash_multiset,hash_multimap
- STL源码:hash_set、hash_map、hash_multiset、hash_multimap
- STL之红黑树容器:set,hash_set,multiset,hash_map,multimap
- STL学习——hash_set/hash_map/hash_multiset/hash_multimap篇
- map,multimap,set,multiset
- set,map,multiset,multimap
- map,multimap,set,multiset
- map/multimap/set/multiset
- 【第10章 关联容器】hashtable, hash_map, hash_set, hash_multiset, hash_multimap基于hashtable
- 【STL源码剖析读书笔记】【第5章】关联式容器之hash_set、hash_map、hash_multiset和hash_multimap
- STL源码剖析-关联式容器之hash_set、hash_map、hash_multiset和hash_multimap
- set,map,hash_set,hash_map概览
- map、multimap、set、multiset容器
- STL关联容器MAP、SET与multimap、multiset与hashmap、hashset的区别
- WM8978学习
- 大数据分析的两个流程(实时与离线):
- 开发中遇到的垃圾回收
- Linux C++ 串口编程 详解+实例
- 《计算机中可编程内存分析》
- set/multiset map/multimap hash_set/hash_multiset hash_map/hash_multimap 区别与联系
- nginx 负载均衡配置
- 学习J2EE的路途(二)纯干货
- Mac Python环境的配置
- AJAX知识整理
- Python numpy 提取矩阵的某一行或某一列
- android多渠道发布教程(360加固)
- Transform
- Linux系统编程——进程间通信:管道(pipe)