c++set和vector
时间: 2023-11-29 19:46:20 浏览: 121
C++中的set和vector都是STL(标准模板库)中的容器,用于存储数据。它们的主要区别在于set是一个集合,其中的元素是唯一的且按照一定的顺序排列,而vector是一个动态数组,其中的元素可以重复且按照插入的顺序排列。
以下是C++中set和vector的简单介绍和示例:
1. set的定义和使用
set是一个集合,其中的元素是唯一的且按照一定的顺序排列。set中的元素默认按照升序排列,也可以自定义排序规则。set的常用操作包括插入元素、删除元素、查找元素等。
```c++
#include <iostream>
#include <set>
using namespace std;
int main() {
// 定义一个set
set<int> s;
// 插入元素
s.insert(3);
s.insert(1);
s.insert(4);
s.insert(2);
// 遍历set中的元素
for (auto it = s.begin(); it != s.end(); it++) {
cout << *it << " ";
}
cout << endl;
// 查找元素
auto it = s.find(3);
if (it != s.end()) {
cout << "Found " << *it << endl;
} else {
cout << "Not found" << endl;
}
// 删除元素
s.erase(2);
// 遍历set中的元素
for (auto it = s.begin(); it != s.end(); it++) {
cout << *it << " ";
}
cout << endl;
return 0;
}
```
2. vector的定义和使用
vector是一个动态数组,其中的元素可以重复且按照插入的顺序排列。vector的常用操作包括插入元素、删除元素、查找元素等。
```c++
#include <iostream>
#include <vector>
using namespace std;
int main() {
// 定义一个vector
vector<int> v;
// 插入元素
v.push_back(3);
v.push_back(1);
v.push_back(4);
v.push_back(2);
// 遍历vector中的元素
for (int i = 0; i < v.size(); i++) {
cout << v[i] << " ";
}
cout << endl;
// 查找元素
auto it = find(v.begin(), v.end(), 3);
if (it != v.end()) {
cout << "Found " << *it << endl;
} else {
cout << "Not found" << endl;
}
// 删除元素
v.erase(v.begin() + 1);
// 遍历vector中的元素
for (int i = 0; i < v.size(); i++) {
cout << v[i] << " ";
}
cout << endl;
return 0;
}
```
阅读全文