C++ vector:使用动态数组管理数据

2023-06-12 11:12:36 浏览数 (1518)

在 C++ 中,我们经常需要处理一些不确定长度的数据集合。而 ​vector​ 是一个非常实用的容器类,它可以让我们方便地管理动态数组,并提供了丰富的操作方法。

下面就来看看如何使用 ​vector​ 实现一些具体的功能。

   1. 初始化 vector

我们可以通过以下方式来初始化一个 ​vector​:

#include <vector>
std::vector<int> v; // 初始化一个空 vector std::vector<int> v{1, 2, 3}; // 初始化一个包含 1、2、3 的 vector

   2. 添加元素

我们可以使用 ​push_back()​ 方法向 ​vector​ 中添加元素:

std::vector<int> v;
v.push_back(1); v.push_back(2); v.push_back(3);

此时,v 中的元素为 {1, 2, 3}。

   3. 访问元素

我们可以使用 ​[]​ 运算符或 ​at()​ 方法来访问 ​vector​ 中的元素:

std::vector<int> v{1, 2, 3};
int a = v[0]; // a = 1 int b = v.at(1); // b = 2

需要注意的是,如果使用 ​[]​ 运算符访问越界的元素,程序将会崩溃。而 ​at()​ 方法会抛出 ​out_of_range​ 异常。

   4. 修改元素

我们可以直接使用 ​[]​ 运算符或 ​at()​ 方法修改 ​vector​ 中的元素:

std::vector<int> v{1, 2, 3};
v[0] = 4; // v 现在为 {4, 2, 3} v.at(1) = 5; // v 现在为 {4, 5, 3}

   5. 删除元素

我们可以使用 ​erase()​ 方法删除 ​vector​ 中的元素:

std::vector<int> v{1, 2, 3};
v.erase(v.begin() + 1); // 删除第二个元素,v 现在为 {1, 3}

需要注意的是,​erase()​ 方法会使后面的元素往前移动一个位置。

   6. 清空 vector

我们可以使用 ​clear()​ 方法清空 ​vector​ 中的元素:

std::vector<int> v{1, 2, 3};
v.clear(); // v 现在为空

   7. 获取 vector 的大小

我们可以使用 ​size()​ 方法获取 ​vector​ 中元素的个数:

std::vector<int> v{1, 2, 3};
int size = v.size(); // size = 3

通过上述实例,我们可以看到 ​vector​ 提供了方便的方法来管理动态数组。它不仅可以保存基本类型,还可以保存对象、结构体等复杂数据类型。因此,在 C++ 开发中,​vector​ 是一个非常常用的容器类。

如果您还是C++初学者,可以先来试试 C++入门课程 ,零基础也能学习C++!