基本特性:
- 动态大小: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 中的最后一个元素:
使用 erase() 方法删除 vector 中的元素:
1
| myVector.erase(myVector.begin() + 2); // 删除 vector 中下标为 2 的元素
|
其他方法
- empty():判断 vector 是否为空。
- size():获取 vector 的大小。
- clear():清空 vector。
- swap():交换两个 vector 的元素。
- resize():调整 vector 的大小。
- front():获取 vector 的第一个元素。