C++语言基础 —— STL —— 容器与迭代器 —— vector
【概述】
vector 是定义在 <vector> 头文件中的向量容器模版类,其以连续数组的方式存储元素序列,可以将 vector 看作是以顺序结构实现的线性表。
当在程序中需要使用动态数组时,vector 是一个理想的选择,其在使用过程中动态地增长存储空间,存取任何元素都能在参数时间内完成,但若在结尾插入,效率比较高,若往中间某个位置插入,则其插入位置后的元素都要后移,效率相对较低。
定义:vector<type> vectorName
参数:type 代表 vector 中存储元素的类型
【构造函数】
- vector <type> c:产生一个空 vector,其中没有任何元素
- vector <type> c(n):生成一个大小为 n 的 vector
- vector <type> c(n, elem):产生一个大小为 n 的 vector,每个元素值都是 elem
- vector <type> c1(c2):产生另一个同型 vector 的副本,所有元素都被复制
vector<int> v1;
vector<double> v2(10);
vector<string> v3(10,"abc");
vector<string> v4(v3);
【基本操作】
对 vector<type> v 的基本操作有:
- v[i]:访问第 i 个元素
- v.front():返回首元素
- v.back():返回尾元素
- v.size():返回容器中实际的元素个数
- v.clear():删除容器中所有元素
- v.empty():判断容器是否为空,若为空返回真,否则返回假
- v.push_back(elem):向表尾插入元素 elem
- v.pop_back():删除表尾元素
- v1.swap(v2)、swap(v1,v2):将 v1 和 v2 元素互换
【迭代器操作】
对 vector<type> v 的迭代器 it 的操作有:
- v.bedin():返回迭代器指向的第一个元素的位置
- v.end():返回迭代器指向的最后一个元素后的位置
- v.insert(it, elem):向迭代器 it 指向的元素前插入新元素 elem
- v.insert(it, n, elem):向迭代器 it 指向的元素前插入 n 个 elem
- v.insert(it, first, last):将由迭代器 first 和 last 所指定的序列 [first, last) 插入到迭代器 it 指向的元素前面
- v.erase(it):删除由迭代器 it 所指向的元素
- v.erase(first, last):删除由迭代器 first 和 last 所指定的序列 [first, last)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理