unordered_set中key value
时间: 2023-12-10 12:02:26 浏览: 99
unordered_set 是 C++ 标准库中的一个容器,用于存储唯一的元素集合,而不按特定顺序进行排序。在 unordered_set 中,元素被视为键,因此没有所谓的键值对的概念。
unordered_set 使用哈希表实现,其中每个元素都有一个唯一的键,通过该键可以快速查找元素。因此,可以将键视为 unordered_set 中的 value。
请注意,unordered_set 中的键必须是唯一的,重复的元素将被忽略。例如,如果要存储一组唯一的整数,则可以使用 unordered_set<int> 类型的容器。
以下是一个示例代码,演示如何将键存储在 unordered_set 中:
```cpp
#include <iostream>
#include <unordered_set>
int main() {
std::unordered_set<int> mySet;
// 添加键到 unordered_set
mySet.insert(1);
mySet.insert(2);
mySet.insert(3);
// 遍历 unordered_set 中的全部键
for (const auto& key : mySet) {
std::cout << key << std::endl;
}
return 0;
}
```
输出:
```
1
2
3
```
希望这可以回答你的问题!如果你还有其他问题,请随时提问。
相关问题
unordered_map与unordered_set
unordered_map与unordered_set有什么区别?
回答: unordered_map和unordered_set都是关联式容器,类似于键值对 (key-value) 的模型。它们的底层实现方式不同,unordered_map使用哈希表作为底层数据结构,而unordered_set也是使用哈希表。unordered_map和unordered_set的区别在于它们存储的类型不同,即unordered_map存储键值对,而unordered_set存储单个元素。此外,unordered_map和unordered_set在功能上也有一些区别。unordered_map提供了以键为索引的查找功能,而unordered_set则提供了判断元素是否存在的功能。从效率上来看,unordered_map和unordered_set的增删查改操作的时间复杂度都是O(1),即常数时间。而map和set的时间复杂度为O(logN),其中N是容器中的元素数量。所以在对效率要求较高的情况下,选择unordered_map和unordered_set会更合适。但是,unordered_map和unordered_set相比于map和set会消耗更多的内存空间。因此,在对数据有排序或者对空间有要求的情况下,选择map和set;而对于对效率有要求的情况,选择unordered_map和unordered_set更合适。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [STL详解(十二)—— unordered_set、unordered_map的介绍及使用](https://blog.csdn.net/chenlong_cxy/article/details/122277348)[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^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"]
- *2* [模拟实现unordered_map和unordered_set超详解(C++)](https://blog.csdn.net/m0_67430750/article/details/124760725)[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^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"]
- *3* [unordered_set和unordered_map的使用【STL】](https://blog.csdn.net/m0_63312733/article/details/128000844)[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^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"]
[ .reference_list ]
unordered_map或unordered_set
unordered_map或unordered_set是C++中的关联式容器,用于存储键值对或唯一的元素。unordered_map是存储<key, value>键值对的容器,而unordered_set是存储唯一元素的容器。在unordered_map中,键值对通常用于唯一地标识元素,而映射值是与键关联的对象。unordered_map和unordered_set的底层实现使用了哈希表,通过哈希函数将键映射到桶中,以实现快速的插入、查找和删除操作。与红黑树结构的关联式容器相比,unordered_map和unordered_set在查询时具有更高的效率,但在遍历元素子集时效率较低。unordered_map和unordered_set提供了一系列的接口,包括构造函数、容量函数、迭代器和元素访问函数,以便于使用和操作容器中的元素。\[2\]\[3\]
#### 引用[.reference_title]
- *1* *2* *3* [C++ unordered_map和unordered_set的使用](https://blog.csdn.net/qq_61635026/article/details/126857258)[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^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文