c++ set un
时间: 2023-08-28 08:08:36 浏览: 109
引用\[1\]中的示例代码展示了如何使用C++的set容器来存储一组元素,并按照排序顺序输出。set容器是一个有序的容器,它会自动根据元素的值进行排序。插入、删除和查找元素的时间复杂度是常量的,除非发生rehashing操作,这可能会导致线性复杂度。\[2\]
引用\[2\]中的示例代码展示了如何使用C++的unordered_set容器来存储一组元素,并按照无序的方式输出。unordered_set容器是一个无序的容器,它使用哈希函数来确定元素的存储位置。插入、删除和查找元素的时间复杂度是常量的,不受rehashing操作的影响。\[2\]
引用\[3\]中的示例代码展示了如何使用C++的unordered_set容器来存储vector<int>类型的元素,并自定义哈希函数。在这个示例中,我们定义了一个特化的hash结构体,用于计算vector<int>类型的哈希值。然后我们可以像使用普通的unordered_set一样使用这个特化的unordered_set容器。\[3\]
综上所述,C++中的set和unordered_set容器都可以用来存储一组元素,但set容器会按照排序顺序进行存储,而unordered_set容器则是无序的。插入、删除和查找元素的时间复杂度在两种容器中都是常量的,但set容器可能会受到rehashing操作的影响。如果需要自定义哈希函数来存储特定类型的元素,可以使用特化的unordered_set容器。
#### 引用[.reference_title]
- *1* *2* [c++中set和unordered_set的区别](https://blog.csdn.net/qq_45662588/article/details/121785943)[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]
- *3* [c++ set unordered_set区别](https://blog.csdn.net/haluoluo211/article/details/82468061)[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 ]
阅读全文