c++multimap和unordered_map
时间: 2023-10-15 13:26:12 浏览: 117
multimap是一个允许元素重复的关联容器,它的内部实现也是使用红黑树。它可以在插入时按照特定的顺序进行排序,并且可以包含相同的键。在C++中,我们可以使用multimap来存储一组键值对,其中键可以重复。例如,我们可以使用multimap来存储不同班级的学生名字,每个班级可能有多个相同名字的学生。使用multimap时,我们可以通过迭代器遍历其中的元素。
unordered_map是一个使用哈希表实现的关联容器,它不允许重复的键。与multimap不同,unordered_map不会对元素进行排序。它的插入和查找操作的时间复杂度都是O(1)。unordered_map适用于需要快速查找和插入元素的情况。例如,我们可以使用unordered_map来存储员工的姓名和工资,通过姓名快速查找对应的工资。使用unordered_map时,我们可以使用迭代器遍历其中的元素。
所以,如果你需要允许重复的键并且需要按照特定顺序来存储元素,你可以使用multimap。如果你不需要重复的键并且希望在常量时间内进行查找和插入操作,你可以使用unordered_map。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [C++ STL multimap与unordered_map](https://blog.csdn.net/yao_hou/article/details/107419196)[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: 50%"]
- *2* *3* [C++ STL库中的multimap和unordered_multimap](https://blog.csdn.net/Woosual/article/details/107884396)[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: 50%"]
[ .reference_list ]
阅读全文