C++set容器删除指定元素
时间: 2025-06-22 22:44:18 浏览: 16
在C++中,`std::set` 是一个有序的集合容器,它存储的元素是唯一的。如果你想从 `std::set` 中删除指定的元素,可以使用 `erase` 方法。
以下是一些示例代码,展示了如何从 `std::set` 中删除指定元素:
```cpp
#include <iostream>
#include <set>
int main() {
// 创建一个 set 并插入一些元素
std::set<int> mySet = {1, 2, 3, 4, 5};
// 打印原始 set
std::cout << "原始 set: ";
for (const auto& elem : mySet) {
std::cout << elem << " ";
}
std::cout << std::endl;
// 要删除的元素
int elementToRemove = 3;
// 使用迭代器找到要删除的元素
auto it = mySet.find(elementToRemove);
if (it != mySet.end()) {
mySet.erase(it); // 删除该元素
} else {
std::cout << "元素 " << elementToRemove << " 不在 set 中" << std::endl;
}
// 打印删除后的 set
std::cout << "删除后的 set: ";
for (const auto& elem : mySet) {
std::cout << elem << " ";
}
std::cout << std::endl;
return 0;
}
```
在这个例子中,我们首先创建了一个包含整数的 `std::set`,然后尝试删除其中的一个元素(值为3)。我们使用 `find` 方法来查找该元素的迭代器,如果找到了该元素,就使用 `erase` 方法将其删除。最后,我们打印出删除后的 `set`。
需要注意的是,`std::set` 中的每个元素都是唯一的,因此即使多次调用 `erase` 方法删除同一个元素,也不会出现错误。
阅读全文
相关推荐


















