C++ 中的 set
是一种关联容器,它包含一组唯一的对象,这些对象按照特定的排序规则自动排序。set
在以下场景中非常有用:
- 唯一性保证:如果你需要存储一组不重复的元素,那么
set
是一个很好的选择。它会自动确保元素的唯一性,无需额外的检查。 - 自动排序:
set
中的元素会根据其比较函数(默认为operator<
)自动排序。这使得set
在需要有序集合的场景中非常有用,例如,当你需要按字母顺序存储字符串时。 - 快速查找:
set
提供了常数时间复杂度的查找操作(find
、count
等),这使得它在需要快速查找特定元素的场景中非常高效。 - 范围遍历:
set
支持范围遍历(使用迭代器或范围 for 循环),这使得它在需要遍历集合中所有元素的场景中非常方便。 - 集合运算:
set
支持集合运算,如并集、交集、差集等。这使得它在处理集合操作的场景中非常有用。
以下是一个简单的 set
示例,用于存储一组不重复的整数,并按升序排序:
#include#include int main() { std::set my_set = {3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5}; for (int num : my_set) { std::cout << num << " "; } return 0; }
输出结果:
1 2 3 4 5 6 9