set插入和删除,c++
时间: 2024-09-19 08:13:03 浏览: 33
在C++中,`std::set`是一个自动维护唯一元素并保证元素有序的数据结构。插入和删除操作的具体步骤如下:
### 插入操作:
```cpp
#include <iostream>
#include <set>
int main() {
std::set<int> mySet;
// 插入单个元素
mySet.insert(10);
if (mySet.find(10) != mySet.end()) {
std::cout << "10 inserted successfully.\n";
}
// 插入一系列元素(自动去重)
mySet.insert({20, 30, 40});
return 0;
}
```
`insert()`函数用于添加新元素,如果元素已经存在,那么不会再次插入。
### 删除操作:
```cpp
// 删除指定元素
if (!mySet.empty()) { // 检查set是否为空
mySet.erase(10); // 删除第一个匹配到的10
}
// 删除所有匹配的元素(等价于clear然后重新插入)
mySet.erase(20);
```
`erase()`函数用于移除某个元素,如果提供一个值,它会尝试找到并移除该值的第一个实例;如果提供一个迭代器,则会删除指向的那个元素。
相关问题
C++中set插入和删除指定元素
C语言中,可以使用set数据结构来存储一组元素并进行集合运算。set中的元素按照一定规则排序,并且不重复。set插入和删除指定元素的操作可以分别用insert和erase函数来实现。
插入指定元素:
set<int> s;
s.insert(1); //插入元素1
s.insert(2); //插入元素2
s.insert(3); //插入元素3
删除指定元素:
set<int> s;
s.insert(1); //插入元素1
s.insert(2); //插入元素2
s.insert(3); //插入元素3
s.erase(2); //删除元素2
以上是基础的set操作,您还可以使用其他相关的函数,如find()、lower_bound()、upper_bound()等,来实现更加复杂的操作。
C++ unordered_set插入删除创建
C++中的`unordered_set`是一个无序集合(也称为哈希集合),可以用于存储不重复的元素。下面是一个简单的示例,展示了如何使用`unordered_set`来创建、插入和删除元素:
```cpp
#include <iostream>
#include <unordered_set>
int main() {
// 创建一个空的unordered_set
std::unordered_set<int> mySet;
// 插入元素
mySet.insert(1);
mySet.insert(2);
mySet.insert(3);
// 删除元素
mySet.erase(2);
// 遍历元素
for (auto it = mySet.begin(); it != mySet.end(); ++it) {
std::cout << *it << " ";
}
std::cout << std::endl;
return 0;
}
```
在这个示例中,我们使用`unordered_set`创建了一个空的哈希集合`mySet`,并向其中插入了三个元素。我们使用`erase`函数删除了一个元素,使用迭代器遍历了集合中的所有元素,并输出了它们的值。需要注意的是,由于`unordered_set`是无序的,因此遍历时输出的元素顺序可能是随机的。
值得注意的是,`unordered_set`的插入和删除操作的时间复杂度都是常数级别的,因此它非常适合用于需要频繁插入删除元素的场景。
阅读全文