map c++ unordered_map multimap
时间: 2023-09-24 07:05:22 浏览: 167
unordered_map_
map和unordered_map是C++中的两种容器,用于存储键值对。map中的key不允许重复,是单重映射表;而multimap中的key允许重复,是多重映射表。
map和multimap的区别在于底层实现和特性。map是基于红黑树实现的,它保证了元素按照key的大小有序排列;而multimap同样基于红黑树实现,但允许相同的key存在。
unordered_map和unordered_multimap是基于哈希表实现的,它们的查找、插入和删除操作都具有常数时间复杂度。这意味着在对访问速度有要求的情况下,我们可以优先选择使用unordered_map。而在考虑到空间大小对程序影响的时候,我们可以优先选择使用map。
综上所述,map适用于需要有序存储且不允许重复key的情况,unordered_map适用于对访问速度有要求的情况,multimap适用于允许重复key的情况。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [c++中map、multimap、unordered_map、unordered_multimap的区别](https://blog.csdn.net/lyn631579741/article/details/122052598)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
阅读全文