C++ STL 中的向量数组

2025年3月17日 | 阅读 3 分钟

什么是数组?

数组是线性数据结构,以线性方式存储相同数据类型的数据或值。存储在数组中的值或数据以连续顺序分配内存。

数组根据其维度可以有各种类型,如一维数组、二维数组、三维数组等。

多维数组也称为数组。

在 C 或 C++ 中,要声明数组,首先,我们必须告知元素的数量或元素所需的内存。然后我们可以填充已声明数组中的值。

语法

什么是向量?

向量也是数据结构,它以与数组相同的方式存储值,但它们具有调整自身大小的能力。由于能够自动增加自身大小,向量也称为动态数组。

在数组中,在声明时,我们必须告知我们想要放入数组中的元素数量,但在向量的情况下,我们不需要声明元素数量,因为当它完全填满时它可以增加其大小。

向量定义在 C++ 的 STL(标准模板库)中,因此要使用向量,我们必须将 STL 库导入到程序文件中。

由于向量定义在 STL(标准模板库)中,它具有许多内置函数,用于在任何索引处进行插入、删除或修改,无论是在开头、结尾还是在任何位置。

例如:size()、capacity()、push_back() 等。

向量中使用了以下内置函数:

  1. size():此函数返回向量中存在的元素数量。
  2. capacity():此函数返回向量的元素数量或容量。
  3. empty():它返回当前向量是否为空。
  4. push_back():借助此函数,我们可以从向量的末尾插入一个元素。
  5. pop_back():借助此函数,我们可以从向量的末尾移除或删除元素。
  6. insert():使用此函数,我们可以在向量中的任何指定位置插入元素。
  7. erase():借助此函数,我们可以从向量中的特定位置移除元素。

语法

向量数组

向量数组基本上是二维矩阵或数组,其中列数可以是任意的,但行数是固定的。

由于每一行代表一个向量,并且一个向量可以有任意数量的元素,因此每一行可以有任意数量的列。

它可能看起来像这样

Arrays of Vectors in C++ STL

语法

语法类似于数组声明,但数组的数据类型是向量。

C++ 示例

输出

Arrays of Vectors in C++ STL

说明

在上面的代码中,我们创建了大小为 5 的向量数组,这意味着固定的行数(由数组大小表示)为 5。由于数组大小为 5,这也意味着我们将有五个向量,并且它们可以具有不同的尺寸。

在第一个向量中,我们放入了五个元素:1、2、3、4、5。

在第二个向量中,我们放入了三个元素:6、7、8。

在第三个向量中,我们放入了四个元素:9、10、11、12。

在第四个向量中,我们放入了两个元素:13 和 14。

在第五个向量中,我们放入了一个元素:15。

现在,我们使用两个循环来打印向量数组的所有元素。

外层循环将计算行数,因此它将运行 n 次,而内层循环将运行每个向量中的元素数量。