在 C++ 语言中,<vector> 是标准模板库(STL)的一部分,它定义了一个名为 vector 的模板类,用于表示一种动态数组。vector 命名空间的作用就是提供这种动态数组的数据结构,使得程序员可以在不编写大量底层代码的情况下,轻松地管理和操作一系列元素。
动态数组
vector 是一种动态数组,意味着它可以在运行时调整其大小。当向 vector 添加元素时,如果底层的数组不足以容纳更多的元素,vector 会自动重新分配一个更大的数组,并将现有元素复制到新数组中。这种自动管理内存的能力极大地简化了程序员的工作,避免了手动分配和释放内存的麻烦。
特点
vector 具有以下特点:
动态大小:vector 的大小可以在运行时增长和缩小。
随机访问:vector 支持快速的随机访问,即可以通过索引直接访问元素。
元素顺序:vector 中的元素保持插入顺序。
迭代器:vector 提供了迭代器,允许程序员遍历元素。
容量:vector 有自己的容量概念,表示 underlying array 的大小。当实际元素数量超过容量时,vector 会重新分配更大的容量。
创建和初始化
创建和初始化 vector 有多种方式:
访问和修改
访问和修改 vector 中的元素非常直接:
添加和删除
向 vector 添加和删除元素也是常见的操作:
大小和容量
获取 vector 的大小和容量也很简单:
迭代器
vector 提供了迭代器来遍历元素:
排序和反转
vector 还支持排序和反转操作:
#include <iostream> #include <vector> #include <algorithm> int main() { std::vector<int> vec = {4, 1, 3, 5, 2}; std::sort(vec.begin(), vec.end()); std::re