c++中vector的用法详解
时间: 2023-07-06 22:42:08 浏览: 135
C++中的vector是一个动态数组,具有可变大小,可以在运行时向其添加或删除元素。以下是vector的用法详解:
1. 头文件
使用vector需要包含头文件vector。
```c++
#include <vector>
```
2. 创建vector
可以使用以下方式创建vector:
```c++
// 创建一个空的vector
std::vector<int> vec1;
// 创建一个有5个元素的vector,每个元素都是0
std::vector<int> vec2(5);
// 创建一个有3个元素的vector,每个元素的初始值是1
std::vector<int> vec3(3, 1);
// 创建一个vector,初始化为另一个vector
std::vector<int> vec4(vec3);
```
3. 访问vector元素
可以使用以下方式访问vector中的元素:
```c++
std::vector<int> vec{1, 2, 3, 4, 5};
// 使用下标访问元素
int a = vec[0];
// 使用at函数访问元素
int b = vec.at(1);
// 使用front函数访问第一个元素
int c = vec.front();
// 使用back函数访问最后一个元素
int d = vec.back();
```
4. 添加元素
可以使用以下方式向vector中添加元素:
```c++
std::vector<int> vec{1, 2, 3};
// 在尾部添加一个元素
vec.push_back(4);
// 在指定位置插入一个元素
vec.insert(vec.begin() + 2, 5);
// 在尾部添加另一个vector中的所有元素
std::vector<int> vec2{6, 7, 8};
vec.insert(vec.end(), vec2.begin(), vec2.end());
```
5. 删除元素
可以使用以下方式删除vector中的元素:
```c++
std::vector<int> vec{1, 2, 3, 4, 5};
// 删除尾部元素
vec.pop_back();
// 删除指定位置的元素
vec.erase(vec.begin() + 2);
// 删除指定范围的元素
vec.erase(vec.begin() + 1, vec.begin() + 3);
// 删除所有元素
vec.clear();
```
6. 获取vector信息
可以使用以下方式获取vector的信息:
```c++
std::vector<int> vec{1, 2, 3, 4, 5};
// 获取元素个数
int size = vec.size();
// 获取容量
int capacity = vec.capacity();
// 判断vector是否为空
bool empty = vec.empty();
```
以上是vector的基本用法,可以根据实际需要对其进行扩展。
阅读全文