c++

c++ 中的 set 如何改

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

在 C++ 中,std::set 是一个关联容器,它包含一组唯一的对象。要修改 std::set 中的元素,您可以使用以下方法之一:

  1. 使用 find() 函数查找元素,然后使用 erase() 函数删除旧元素,最后使用 insert() 函数插入新元素。例如:
#include <iostream>
#include <set>

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

    int value_to_find = 3;
    int new_value = 6;

    auto it = my_set.find(value_to_find);
    if (it != my_set.end()) {
        my_set.erase(it);
    }

    my_set.insert(new_value);

    for (const auto& elem : my_set) {
        std::cout << elem << " ";
    }

    return 0;
}
  1. 使用 erase() 函数删除旧元素,然后使用 insert() 函数插入新元素。例如:
#include <iostream>
#include <set>

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

    int value_to_erase = 3;
    int new_value = 6;

    my_set.erase(value_to_erase);
    my_set.insert(new_value);

    for (const auto& elem : my_set) {
        std::cout << elem << " ";
    }

    return 0;
}

请注意,这两种方法都会保留 std::set 的排序和唯一性特性。如果您需要修改特定元素的值,而不是替换整个元素,您可能需要使用其他容器,如 std::mapstd::unordered_map

0
看了该问题的人还看了