vector容器详细
时间: 2024-12-16 08:15:41 浏览: 4
`vector`是C++标准库中的一个动态数组容器,它支持元素的动态添加、删除以及随机访问。以下是vector容器的一些关键特性:
1. **动态大小**:vector可以自动调整容量来适应元素的数量变化,当你向vector添加或删除元素时,它会相应地改变其内部存储空间。
2. **随机访问**:vector提供O(1)时间复杂度的索引访问,你可以通过下标快速获取或修改元素。
3. **顺序存储**:元素是连续存储的,这使得基于索引的操作非常高效。
4. **内置迭代器**:vector提供迭代器,允许在集合上进行遍历操作。
5. **范围检查**:如果你试图访问超出范围的索引,vector不会崩溃而是抛出运行时异常,这是一种安全机制。
6. **预设容量**:你可以指定vector在构造时的初始容量,避免频繁的内存分配和复制。
7. **性能优化**:在大多数情况下,vector是一个高效的容器,但在插入和删除大量元素时,因为需要移动大量的后续元素,性能可能会下降。
8. **成员函数**:vector有诸如push_back(), pop_back(), insert(), erase()等函数来操作元素。
```cpp
#include <vector>
// 创建一个vector并初始化
std::vector<int> vec = {1, 2, 3};
// 添加元素
vec.push_back(4);
// 访问元素
int element = vec[0];
// 删除元素
vec.erase(vec.begin());
相关问题
vector容器reverse
你可以使用C++的`vector`容器的`reverse`函数来反转容器中的元素顺序。下面是一个使用示例:
```cpp
#include <iostream>
#include <vector>
#include <algorithm>
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5};
std::reverse(vec.begin(), vec.end());
for (auto num : vec) {
std::cout << num << " ";
}
return 0;
}
```
这段代码将输出:`5 4 3 2 1`,即将容器中的元素顺序反转。`reverse`函数实际上是通过交换容器中元素的位置来实现反转的。
vector容器清空
vector容器的清空可以通过以下方法实现:
1. 使用clear()函数:调用vector的clear()函数可以将容器中的所有元素清空,使其变为空容器。例如,如果有一个名为vec的vector容器,可以使用vec.clear()来清空容器。
2. 使用erase()函数:调用vector的erase()函数可以删除容器中的指定范围的元素,从而实现清空容器的效果。例如,可以使用vec.erase(vec.begin(), vec.end())来清空容器vec。
阅读全文