C++ 中的 set
是一种关联容器,它包含一组唯一的对象。以下是 set
的一些主要特点:
set
中的元素是唯一的,即每个元素只能出现一次。如果你尝试插入一个已经存在的元素,set
不会对其进行任何操作。set
中的元素会自动按照某种排序规则进行排序。默认情况下,这个排序规则是按键(key)的自然顺序,但你也可以提供自定义的比较函数或对象来改变排序规则。set
中的元素是自动排序的,因此你可以通过迭代器遍历 set
,并且迭代器会按照元素的顺序访问它们。vector
和 array
不同,set
不支持下标运算符(operator[]
)。你不能像访问数组元素那样访问 set
中的元素。要访问 set
中的元素,你需要使用迭代器或者 find
函数。array
不同,set
是一个动态容器,它可以根据需要自动调整大小。set
的内存管理是自动的,你不需要(也不能)手动分配或释放内存。set
提供了一些常量成员函数,如 empty()
、size()
、find()
等,这些函数可以在常量对象上调用。set
提供了双向迭代器,你可以使用这些迭代器遍历 set
中的元素。set
中的元素,而无需显式地使用迭代器。下面是一个简单的 set
示例:
#include <iostream>
#include <set>
int main() {
std::set<int> mySet = {1, 2, 3, 4, 5};
for (int num : mySet) {
std::cout << num << " ";
}
return 0;
}
这个示例创建了一个包含整数的 set
,并使用基于范围的循环遍历并打印其中的元素。注意,由于 set
中的元素是自动排序的,因此输出的数字将按照升序排列。