📜  cpp 向量结构 - C++ (1)

📅  最后修改于: 2023-12-03 15:00:03.105000             🧑  作者: Mango

C++ 向量结构

什么是向量结构

C++ 向量(vector)是一种动态数组,它可以在需要时调整大小。向量是使用模板类定义的,因此可以存储任何类型的数据。

向量提供了随机访问(通过索引)和顺序访问(通过迭代器)的方法。

如何使用向量结构

首先要包含头文件 vector

#include <vector>

然后可以定义一个向量:

vector<int> myVector; // 定义一个空的向量,其中元素的类型为 int

也可以在定义时为向量指定一些元素:

vector<int> myVector = {1, 2, 3, 4, 5}; // 定义一个包含 5 个元素的向量,并将其初始化为 1、2、3、4 和 5

向向量中添加元素可以使用 push_back 方法:

myVector.push_back(6); // 向 myVector 中添加一个元素 6

可以使用 size 方法获取向量的大小:

cout << myVector.size() << endl; // 输出 myVector 的大小,即 6

可以使用索引访问向量中的元素:

cout << myVector[0] << endl; // 输出 myVector 中第一个元素,即 1

也可以使用迭代器访问向量中的元素:

vector<int>::iterator it = myVector.begin();
while (it != myVector.end()) {
    cout << *it << endl;
    it++;
}
向量结构的优点

向量具有以下优点:

  • 支持动态的元素插入和删除,可以自动调整大小。
  • 支持通过索引和迭代器访问元素。
  • 可以存储任何类型的数据,包括自定义类型。
  • 在插入或删除元素时,向量会自动处理内存分配和释放,无需显式编写代码。
向量结构的缺点

向量具有以下缺点:

  • 在插入或删除元素时可能需要重新分配内存,从而导致性能下降。
  • 在开头或中间插入或删除元素时,可能需要移动后面的元素,导致效率下降。
  • 在使用迭代器遍历向量时,插入或删除元素会使迭代器失效。
总结

C++ 向量结构是一种非常方便和灵活的数据结构,它可以存储任何类型的数据,并支持动态地插入和删除元素。然而,向量在某些情况下可能会导致性能下降,因此需要谨慎使用。