c++中的vector和set
时间: 2024-01-04 13:18:10 浏览: 49
在C++中,vector和set都是STL(标准模板库)中的容器,用于存储数据。它们的主要区别在于它们的实现方式和用途。
vector是一个动态数组,可以自动调整大小。它的元素存储在连续的内存位置中,因此可以通过指针进行快速访问。vector通常用于需要随机访问元素的情况,例如需要对元素进行排序或查找。
以下是一个使用vector的示例:
```c++
#include <iostream>
#include <vector>
int main() {
std::vector<int> v = {1, 2, 3, 4, 5};
// 添加元素
v.push_back(6);
// 访问元素
std::cout << "第一个元素是:" << v[0] << std::endl;
// 遍历元素
for (int i = 0; i < v.size(); i++) {
std::cout << v[i] << " ";
}
std::cout << std::endl;
return 0;
}
```
set是一个关联容器,用于存储唯一的元素。它的元素按照一定的顺序排列,通常是从小到大。set通常用于需要快速查找元素的情况,例如查找某个元素是否存在。
以下是一个使用set的示例:
```c++
#include <iostream>
#include <set>
int main() {
std::set<int> s = {3, 1, 4, 1, 5};
// 添加元素
s.insert(2);
// 查找元素
if (s.find(3) != s.end()) {
std::cout << "3 存在" << std::endl;
}
// 遍历元素
for (auto it = s.begin(); it != s.end(); it++) {
std::cout << *it << " ";
}
std::cout << std::endl;
return 0;
}
```