# 概述
vector
是 STL
中可变数组的实现。容器内部采用数组进行存储。由于每次数组可能越界行为会导致数组大小倍增,因此数组占据空间的大小为不小于数组长度的的 的幂次。在特殊的数据条件下, vector
可能不满足内存限制要求。
# 常用函数
vector
类中定义的成员函数如下标所示。
函数 | 作用 |
---|---|
size | |
push_back | 在 vector 的末尾添加一个元素。 |
pop_back | 删除 vector 的最后一个元素。 |
size | 返回 vector 中元素的数量。 |
empty | 如果 vector 中没有元素,则返回 true,否则返回 false . |
clear | 清空 vector 中的所有元素。 |
reserve | 为 vector 分配内存空间,以便可以在不重新分配内存的情况下添加元素。 |
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 的第一项,返回一个迭代器 |