unordered map和unordered set区别
时间: 2023-10-27 19:35:10 浏览: 46
unordered_map和unordered_set都是C++ STL中的关联容器,它们的主要区别在于存储的元素不同。
unordered_map是一个关联数组容器,存储的是键值对(key-value),其中每个键(key)都是唯一的,键值对之间是没有顺序关系的;而unordered_set是一个集合容器,存储的是唯一的元素,元素之间是没有顺序关系的。
因此,unordered_map和unordered_set在实现上也有所不同,unordered_map使用哈希表来实现,而unordered_set则是使用哈希集合来实现。在应用上,unordered_map适用于需要快速查找键值对的场合,unordered_set适用于需要快速查找元素是否存在的场合。
相关问题
unordered map 和 set的区别
unordered_map和unordered_set是使用哈希表来实现的,而map和set则是使用红黑树来实现的。它们的主要区别在于以下几个方面:
1. 插入和查找的时间复杂度:unordered_map和unordered_set的插入和查找操作的平均时间复杂度是常数级的O(1),而map和set的平均时间复杂度是对数级的O(log n)。
2. 元素的顺序:unordered_map和unordered_set中的元素是无序的,而map和set中的元素是按照键的大小进行排序的。
3. 内存占用:由于使用哈希表存储数据,unordered_map和unordered_set通常会占用更多的内存空间,而map和set则相对较少。
4. 实现细节:unordered_map和unordered_set使用开散列的方式来解决哈希冲突,而map和set使用红黑树来保持元素的有序性。
unordered_map和unordered_set的区别
unordered_map和unordered_set是C++中的两种容器,它们都属于哈希容器,用于存储键值对或者唯一的元素。它们的区别在于:
1. 存储方式:unordered_map存储键值对,每个元素都包含一个键和一个关联的值;而unordered_set只存储唯一的元素,没有键值对的概念。
2. 键的唯一性:unordered_map要求键是唯一的,即不能存在重复的键;而unordered_set中的元素也是唯一的,不能存在重复的元素。
3. 访问方式:unordered_map可以通过键来快速查找对应的值;而unordered_set只能判断元素是否存在。
4. 迭代器范围:unordered_map的迭代器范围是键值对;而unordered_set的迭代器范围只是元素本身。
总结来说,unordered_map适用于需要根据键查找对应值的场景,而unordered_set适用于需要存储唯一元素且不关心键值对的场景。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)