C++ vector 容器

C++ vector 容器

概述

vector 是 C++ 标准模板库(STL)中的一个重要组成部分,它提供了一种动态数组的数据结构。vector 容器能够根据需要自动调整其大小,这使得它在管理数据集合时非常灵活和高效。在 C++ 中,vector 通常用于存储一系列元素,这些元素可以是基本数据类型(如 int、double 等),也可以是复杂的数据结构(如自定义类)。

基本操作

创建 vector

创建 vector 的基本方式是通过包含 <vector> 头文件,并使用 std::vector 命名空间。例如,创建一个整数类型的 vector 可以如下进行:

#include <vector>

std::vector<int> myVector;

添加元素

vector 提供了多种添加元素的方法,包括 push_back(),它可以在容器的末尾添加一个新元素:

myVector.push_back(10);
myVector.push_back(20);

访问元素

可以通过索引来访问 vector 中的元素,类似于访问数组元素:

int firstElement = myVector[0];
int secondElement = myVector[1];

修改元素

可以直接通过索引来修改 vector 中的元素:

myVector[0] = 100;

删除元素

可以使用 pop_back() 来删除 vector 末尾的元素:

myVector.pop_back();

遍历 vector

可以使用范围基于的 for 循环来遍历 vector 中的所有元素:

for (int element : myVector) {
    std::cout << element << std::endl;
}

vector 的大小

vector 的大小可以通过 size() 方法获取:

int size = myVector.size();

vector 的容量

vector 的容量可以通过 capacity() 方法获取,它表示在不重新分配内存的情况下,vector 可以存储的元素数量:

int capacity = myVector.capacity();

高级特性

vector 的内存管理

vector 在内部维护一段连续的内存空间,当元素数量超过当前容量时,vector 会自动重新分配更大的内存空间,并将现有元素复制到新空间中。这个过程称为“重新分配”。为了避免频繁的重新分配,vector 通常会分配比当前所需更多的内存,这就是为什么 capacity() 通常大于 size()

迭代器

vector 提供了迭代器,它是一种用于访问容器元素的对象。迭代器可以用于各种 STL 算法,例如 std::sort()

std::sort(myVector.begin(), myVector.end());

vector 的效率

虽然 vector 提供了动态数组的所有优点,但在某些操作(如插入和删除元素)时可能会效率较低,因为这些操作可能会导致内存中的元素移动。因此,在选择数据结构时,应根据具体的应用场景来决定是否使用 vector

结论

vector 是 C++ 中一个强大且灵活的数据结构,适用于大多数需要动态数组的情况。通过了解其基本操作和高级特性,开发者可以更有效地使用 vector 来管理数据集合。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值