c++中set的用法
时间: 2024-12-04 09:12:24 浏览: 11
C++ set的使用方法详解
5星 · 资源好评率100%
C++中的`set`是一个关联容器,用于存储唯一的元素,并且自动对元素进行排序。`set`中的元素是按照一定的顺序存储的,默认情况下是按照升序排列的。`set`的主要特点如下:
1. **唯一性**:集合中的元素是唯一的,不能有重复的元素。
2. **自动排序**:元素会自动按照升序排列。
3. **快速查找**:查找、插入和删除操作的时间复杂度为O(log n)。
### 基本用法
#### 1. 包含头文件
要使用`set`,需要包含头文件`<set>`。
```cpp
#include <iostream>
#include <set>
```
#### 2. 定义和初始化
可以通过多种方式定义和初始化一个`set`。
```cpp
std::set<int> s; // 定义一个空的整数集合
std::set<int> s = {1, 2, 3, 4, 5}; // 定义并初始化一个整数集合
```
#### 3. 插入元素
可以使用`insert`方法向集合中插入元素。
```cpp
s.insert(6); // 插入元素6
```
#### 4. 查找元素
可以使用`find`方法查找元素。
```cpp
if (s.find(3) != s.end()) {
std::cout << "找到元素3" << std::endl;
} else {
std::cout << "未找到元素3" << std::endl;
}
```
#### 5. 删除元素
可以使用`erase`方法删除元素。
```cpp
s.erase(4); // 删除元素4
```
#### 6. 遍历集合
可以使用迭代器遍历集合。
```cpp
for (auto it = s.begin(); it != s.end(); ++it) {
std::cout << *it << " ";
}
std::cout << std::endl;
```
### 示例代码
以下是一个完整的示例代码,展示了`set`的基本用法:
```cpp
#include <iostream>
#include <set>
int main() {
std::set<int> s;
// 插入元素
s.insert(3);
s.insert(1);
s.insert(4);
s.insert(1); // 重复元素,不会插入
// 查找元素
if (s.find(3) != s.end()) {
std::cout << "找到元素3" << std::endl;
} else {
std::cout << "未找到元素3" << std::endl;
}
// 删除元素
s.erase(4);
// 遍历集合
for (auto it = s.begin(); it != s.end(); ++it) {
std::cout << *it << " ";
}
std::cout << std::endl;
return 0;
}
```
###
阅读全文