unordered_map和unordere_set的区别
时间: 2023-10-20 16:34:41 浏览: 94
unordered_map 和 unordered_set 是 C++ STL 中的两种容器,它们之间的区别主要在于存储元素的方式和遍历顺序。
unordered_map 是一个关联容器,用于存储键值对。它使用哈希函数来计算键的哈希值,然后根据哈希值将键值对存储在不同的桶中。因此,unordered_map 的元素是无序存储的。另外,unordered_map 允许键的重复,但是不允许重复的键值对。
unordered_set 是一个集合容器,用于存储不重复的元素。它也使用哈希函数来计算元素的哈希值,并根据哈希值将元素存储在不同的桶中。因此,unordered_set 的元素也是无序存储的。与 unordered_map 类似,unordered_set 不允许重复的元素。
总结来说,unordered_map 适用于需要存储键值对且不关心顺序的场景,而 unordered_set 适用于需要存储不重复元素且不关心顺序的场景。它们的底层实现方式不同,但是外部使用的接口是一致的。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [c++中unordered_map的用法的详述(包含unordered_map和map的区别)](https://blog.csdn.net/jpc20144055069/article/details/108170073)[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 ]
阅读全文