温馨提示×

c++ 中的 set 如何改

c++
小樊
147
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