阅读量:0
C++ 中的 set
是一个关联容器,它包含了一组唯一的元素。set
中的元素在插入时自动排序。下面是对 C++ set
集合进行增删改查操作的方法:
1. 增加元素(Insert)
使用 insert()
函数向 set
中添加元素。如果添加的元素已经存在于集合中,则不会发生任何操作。
#include<iostream> #include <set> int main() { std::set<int> mySet; // 插入元素 mySet.insert(5); mySet.insert(1); mySet.insert(9); // 输出集合中的元素 for (int x : mySet) { std::cout << x << " "; } std::cout<< std::endl; return 0; }
2. 删除元素(Erase)
使用 erase()
函数从 set
中删除元素。可以通过传递一个元素值或迭代器来删除元素。
#include<iostream> #include <set> int main() { std::set<int> mySet = {1, 3, 5, 7, 9}; // 删除元素 mySet.erase(5); mySet.erase(mySet.find(3)); // 输出集合中的元素 for (int x : mySet) { std::cout << x << " "; } std::cout<< std::endl; return 0; }
3. 修改元素(Not supported directly)
由于 set
中的元素是唯一的,并且自动排序,因此不能直接修改元素。要修改元素,需要先删除旧元素,然后插入新元素。
#include<iostream> #include <set> int main() { std::set<int> mySet = {1, 3, 5, 7, 9}; // 修改元素(先删除旧元素,再插入新元素) mySet.erase(5); mySet.insert(6); // 输出集合中的元素 for (int x : mySet) { std::cout << x << " "; } std::cout<< std::endl; return 0; }
4. 查找元素(Find)
使用 find()
函数查找 set
中的元素。如果找到该元素,则返回一个指向该元素的迭代器;否则,返回一个指向 set
末尾的迭代器。
#include<iostream> #include <set> int main() { std::set<int> mySet = {1, 3, 5, 7, 9}; // 查找元素 auto it = mySet.find(5); if (it != mySet.end()) { std::cout << "Found: " << *it<< std::endl; } else { std::cout << "Not found"<< std::endl; } return 0; }
这些是 C++ set
集合的基本增删改查操作。注意,由于 set
中的元素是唯一的,所以不支持直接修改元素。要修改元素,需要先删除旧元素,然后插入新元素。