c++ vector操作
时间: 2023-07-11 08:44:19 浏览: 121
C++ vector操作实现
C++ 中的 vector 是一个动态数组,可以在运行时动态地增加或减少数组的大小。下面是一些 vector 常用的操作:
1. 创建一个 vector
```c++
#include <vector>
// 创建一个空的 vector
std::vector<int> v1;
// 创建一个包含 10 个元素,每个元素都是 0 的 vector
std::vector<int> v2(10);
// 创建一个包含 5 个元素,每个元素都是 2 的 vector
std::vector<int> v3(5, 2);
// 创建一个包含 {1,2,3,4,5} 的 vector
std::vector<int> v4{1, 2, 3, 4, 5};
```
2. 访问 vector 中的元素
```c++
std::vector<int> v{1, 2, 3, 4, 5};
// 访问第一个元素
int first = v.front();
// 访问最后一个元素
int last = v.back();
// 访问第 i 个元素
int i = 2;
int elem = v[i];
// 获取 vector 中的元素个数
int size = v.size();
```
3. 在 vector 的末尾添加元素
```c++
std::vector<int> v{1, 2, 3};
// 在 vector 的末尾添加一个元素
v.push_back(4);
// 在 vector 的末尾添加一个数组或 vector
std::vector<int> v2{5, 6};
v.insert(v.end(), v2.begin(), v2.end());
```
4. 在 vector 中删除元素
```c++
std::vector<int> v{1, 2, 3, 4, 5};
// 删除 vector 中的最后一个元素
v.pop_back();
// 删除 vector 中的第 i 个元素
int i = 2;
v.erase(v.begin() + i);
// 删除 vector 中的一段元素
int start = 1;
int end = 3;
v.erase(v.begin() + start, v.begin() + end);
```
5. 遍历 vector
```c++
std::vector<int> v{1, 2, 3, 4, 5};
// 使用迭代器遍历 vector
for (std::vector<int>::iterator it = v.begin(); it != v.end(); ++it) {
std::cout << *it << " ";
}
// 使用 auto 关键字遍历 vector
for (auto elem : v) {
std::cout << elem << " ";
}
```
阅读全文