map
map 红黑树
map 对value值无要求
map 有序,按照key值自动排序
map key值唯一
map 支持重载[]的运算符
map 为保持有序性,erase()开销大
multimap
multimap 红黑树
multimap 对value值无要求
multimap 有序,按照key值排序,
multimap key值不唯一,可以存在多个相同key
multimap 不支持重载[]的运算符,不可以通过 [key] 查找值
multimap 为保持有序性,erase()开销大
unordered_map
unordered_map 哈希表
unordered_map 对value值无要求
unordered_map 无序,不按照key值排序,无序
unordered_map key值唯一
unordered_map 支持重载[]的运算符
unordered_map 无序,erase()开销小
如果没有特殊的排序要求,优先使用 unordered_map
文章详细介绍了C++中的三种映射容器——map、multimap和unordered_map。map和multimap基于红黑树实现,前者key唯一,后者允许重复key,两者均有序但erase()操作开销大。unordered_map采用哈希表,无序且key唯一,其erase()操作效率较高。在没有特殊排序需求时,推荐使用unordered_map。
110

被折叠的 条评论
为什么被折叠?



