c++

c++ 中的 set 有何用

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

C++ 中的 set 是一种关联容器,它包含一组唯一的对象

  1. 排序:set 中的元素会自动按键值进行排序。键值是元素本身,可以是数字、字符串或其他类型的数据。

  2. 唯一性:set 中的元素不允许重复,每个元素只能出现一次。

  3. 快速查找:set 提供了常数时间复杂度的查找操作,即 O(1)。这是因为 set 通常使用红黑树实现,这是一种自平衡的二叉搜索树。

  4. 插入和删除操作:set 支持在常数时间内插入和删除元素,即 O(1)。这是因为红黑树具有很好的平衡性,插入和删除操作的时间复杂度不会随着元素数量的增加而增加。

下面是一个简单的 set 示例:

#include <iostream>
#include <set>

int main() {
    std::set<int> my_set = {1, 2, 3, 4, 5};

    // 插入元素
    my_set.insert(6);

    // 删除元素
    my_set.erase(3);

    // 查找元素
    if (my_set.find(4) != my_set.end()) {
        std::cout << "Found: "<< 4 << std::endl;
    } else {
        std::cout << "Not found: 4" << std::endl;
    }

    // 遍历元素
    for (int value : my_set) {
        std::cout << "Value: " << value << std::endl;
    }

    return 0;
}

输出:

Found: 4
Value: 1
Value: 2
Value: 5
Value: 6

0
看了该问题的人还看了