vector

time will tell Lv4

基本特性:

  • 动态大小:vector 的大小可以根据需要自动增长和缩小。
  • 连续存储:vector 中的元素在内存中是连续存储的,这使得访问元素非常快速。
  • 可迭代:vector 可以被迭代,你可以使用循环(如 for 循环)来访问它的元素。
  • 元素类型:vector 可以存储任何类型的元素,包括内置类型、对象、指针等。

创建 Vector

1
std::vector<int> myVector; // 创建一个存储整数的空 vector

这将创建一个空的整数向量,也可以在创建时指定初始大小和初始值:

1
2
std::vector<int> myVector(10); // 创建一个包含 10 个 0 的整数向量
std::vector<int> myVector(10, 1); // 创建一个包含 10 个 1 的整数向量
1
2
std::vector<int> vec; // 默认初始化一个空的 vector
std::vector<int> vec2 = {1, 2, 3, 4}; // 初始化一个包含元素的 vector

添加元素

用 push_back 方法向 vector 中添加元素:

1
myVector.push_back(7); // 将整数 7 添加到 vector 的末尾
1
int size = myVector.size(); // 获取 vector 中的元素数量

访问元素

用下标访问 vector 中的元素:

1
int firstElement = myVector[0]; // 获取 vector 的第一个元素

迭代访问

用 for 循环迭代访问 vector 中的元素:

1
2
3
for (auto it = myVector.begin(); it != myVector.end(); ++it) {
std::cout << *it << " ";
}

或者使用范围循环:

1
2
3
for (int i : myVector) {
std::cout << i << " ";
}

删除元素

用 pop_back 方法删除 vector 中的最后一个元素:

1
myVector.pop_back();

使用 erase() 方法删除 vector 中的元素:

1
myVector.erase(myVector.begin() + 2); // 删除 vector 中下标为 2 的元素

其他方法

  • empty():判断 vector 是否为空。
  • size():获取 vector 的大小。
  • clear():清空 vector。
  • swap():交换两个 vector 的元素。
  • resize():调整 vector 的大小。
  • front():获取 vector 的第一个元素。
  • Title: vector
  • Author: time will tell
  • Created at : 2024-09-24 20:54:52
  • Updated at : 2024-08-05 16:49:41
  • Link: https://sbwrn.github.io/2024/09/24/c++vector/
  • License: This work is licensed under CC BY-NC-SA 4.0.
Comments