unordered_set 和set
时间: 2023-11-10 18:07:00 浏览: 84
反序列化和序列
unordered_set 和 set 都是C++中的集合容器。它们都用于存储不重复的值,但它们的底层实现方式不同。
unordered_set 是基于哈希表实现的,元素是无序的。因为使用哈希表,所以插入、删除和查找元素的时间复杂度都是常量级的(平均情况下),而不受集合大小的影响。unordered_set 不会对元素进行排序。
set 是基于树(通常是红黑树)实现的,元素是按照由小到大的顺序排序的。因为使用树,所以插入、删除和查找元素的时间复杂度也是对数级别的。set 会自动将元素进行排序。
所以,如果你需要快速的插入、删除和查找操作,并且不关心元素的顺序,可以使用 unordered_set。而如果你需要有序的集合并且对插入、删除和查找操作的性能要求不那么严格,可以使用 set。
示例代码中展示了使用 unordered_set 的例子,首先创建一个 unordered_set 对象 s,然后插入一些元素,并遍历打印出集合中的元素。
阅读全文