unorderd_map 和 unordered_set的区别
时间: 2023-10-21 12:29:23 浏览: 103
unordered_map_
unordered_map和unordered_set是C++标准库中的两种关联容器,它们的区别主要体现在以下几个方面:
1. 存储方式:unordered_map是一种键值对的容器,每个元素都由一个键和一个对应的值组成;而unordered_set只存储元素的值,没有键值对的概念。
2. 元素唯一性:unordered_map中的键是唯一的,即不允许重复的键;而unordered_set中的元素也是唯一的,不允许重复。
3. 查找效率:unordered_map和unordered_set都是基于哈希表实现的,因此查找元素的效率非常高。对于unordered_map,我们可以通过键来快速查找对应的值;而对于unordered_set,我们可以直接根据值来查找。
4. 排序:unordered_map和unordered_set内部元素的存储是无序的,即元素的顺序不会按照插入顺序或者其他顺序排列。
总结起来,unordered_map适用于需要根据键快速查找对应值的场景,而unordered_set适用于需要判断元素是否存在的场景。在实际使用中,可以根据具体需求选择使用哪种容器。
阅读全文