温馨提示×

c++ 中的 set 能干嘛

c++
小樊
81
2024-11-29 18:56:56
栏目: 编程语言

C++ 中的 set 是一种关联容器,它包含一组唯一的对象。每个元素在插入时都会自动按键进行排序。set 的主要用途如下:

  1. 存储唯一元素set 中的每个元素只能出现一次,因此可以用来存储不重复的数据集。
std::set<int> mySet = {1, 2, 3, 4, 5};
  1. 自动排序set 中的元素会根据键进行自动排序。默认情况下,排序使用 operator< 进行比较。你也可以提供自定义的比较函数或类来实现不同的排序规则。
// 使用自定义比较函数
struct MyComparator {
    bool operator()(int a, int b) const {
        return a < b;
    }
};

std::set<int, MyComparator> mySet(MyComparator());
  1. 快速查找set 提供了对数时间复杂度的查找、插入和删除操作。这使得 set 成为实现集合、字典等数据结构的理想选择。
// 查找元素
auto it = mySet.find(3);
if (it != mySet.end()) {
    std::cout << "Found: " << *it << std::endl;
} else {
    std::cout << "Not found" << std::endl;
}
  1. 遍历元素set 支持范围 for 循环,方便地遍历所有元素。
for (const auto& element : mySet) {
    std::cout << element << std::endl;
}

总之,C++ 中的 set 是一种非常有用的数据结构,可以用来存储唯一元素、自动排序、快速查找和遍历元素。

0