【STL】vector容器用法
Contents
1 简介
🟠 vector 容器实现的是一个动态数组,即可以进行元素的插入和删除,并动态调整所占用的内存空间,整个过程无需人工干预。
🟡 在尾部插入/删除元素时,时间复杂度为O(1)
;在头部或者中部插入/删除元素时,时间复杂度为O(n)
。
🔵 使用需加上头文件:#include <vector>
2 创建vector容器
1️⃣ 调用 vector 容器类的默认构造函数。(若默认指定了 std 命令空间,则 std:: 可省略)
|
|
2️⃣ 在创建 vector 容器的同时,进行初始化。
|
|
3️⃣ 在创建 vector 容器时,指定元素个数。
v1 容器开始时就有 20 个元素,它们的默认初始值都为 0。圆括号中的2个参数既可以是常量,也可以是变量。
|
|
4️⃣ 通过迭代器,取已建 vector 容器中指定区域内的键值对,创建并初始化新的 vector 容器。
|
|
3 常用的成员方法
成员方法 | 功能 |
---|---|
begin() | 返回指向容器中第一个元素的迭代器。 |
end() | 返回指向容器最后一个元素所在位置后一个位置的迭代器,通常和 begin() 结合使用。 |
size() | 返回实际元素个数。 |
capacity() | 返回当前容量。 |
empty() | 判断容器中是否有元素,若无元素,则返回 true;反之,返回 false。 |
reserve() | 增加容器的容量。 |
front() | 返回第一个元素的引用。 |
back() | 返回最后一个元素的引用。 |
push_back() | 在序列的尾部添加一个元素。 |
pop_back() | 移出序列尾部的元素。 |
insert() | 在指定的位置插入一个或多个元素。 |
erase() | 移出一个元素或一段元素。 |
clear() | 移出所有的元素,容器大小变为 0。 |
swap() | 交换两个容器的所有元素。 |
emplace() | 在指定的位置直接生成一个元素。 |