# 概述

vectorSTL 中可变数组的实现。容器内部采用数组进行存储。由于每次数组可能越界行为会导致数组大小倍增,因此数组占据空间的大小为不小于数组长度的的 22 的幂次。在特殊的数据条件下, vector 可能不满足内存限制要求。

# 常用函数

vector 类中定义的成员函数如下标所示。

函数作用
size
push_backvector 的末尾添加一个元素。
pop_back删除 vector 的最后一个元素。
size返回 vector 中元素的数量。
empty如果 vector 中没有元素,则返回 true,否则返回 false .
clear清空 vector 中的所有元素。
reservevector 分配内存空间,以便可以在不重新分配内存的情况下添加元素。
capacity返回 vector 中分配的内存空间的大小。
operator[]访问 vector 中的元素。
front返回 vector 中的第一个元素。
back返回 vector 中的最后一个元素。
insert在指定位置插入一个元素。
erase删除指定位置的元素。
swap交换两个 vector 中的元素。
resize改变 vector 中元素的数量。

需要注意的是, vector 中不包括 find() 类成员函数。因此如果需要使用 find() , 则需要使用 <algorithm> 头文件。示例如下:

find(vec.begin(), vec.end(), k);
// 查找 vec 数组内值为 k 的第一项,返回一个迭代器