C++ 中的 set
是一种关联容器,它包含一组唯一的对象。set
中的元素在插入时自动按键排序。键是元素本身,它们在 set
中不能重复,并且不允许有重复的键。set
通常用于存储已经排序的数据集合,以便可以快速查找、插入和删除元素。
以下是 set
的一些常见用途:
- 存储唯一元素:当你需要存储一组不重复的元素时,可以使用
set
。例如,你可以使用set
来存储一个项目的所有唯一标签或名称。 - 自动排序:
set
中的元素在插入时会自动按键排序。这使得set
成为一种有用的数据结构,可以方便地按顺序访问元素。 - 快速查找:由于
set
中的元素是唯一的,因此查找特定元素的时间复杂度为 O(log n),其中 n 是set
中元素的数量。这比线性查找(如vector
或list
)更快。 - 集合运算:C++ 标准库中的
头文件提供了许多有用的集合运算,如并集、交集、差集和对称差集。这些运算可以方便地处理set
中的元素。
下面是一个简单的示例,展示了如何使用 set
:
#include#include int main() { std::set mySet; // 插入元素 mySet.insert(5); mySet.insert(3); mySet.insert(7); mySet.insert(3); // 重复元素,不会被插入 // 遍历集合 for (int num : mySet) { std::cout << num << " "; } std::cout << std::endl; // 查找元素 if (mySet.find(7) != mySet.end()) { std::cout << "Found 7 in the set." << std::endl; } return 0; }
输出:
3 5 7 Found 7 in the set.
在这个示例中,我们创建了一个 set
来存储整数,并演示了如何插入元素、遍历集合以及查找特定元素。