【OI】C++STL 不定长数组 vector
2024-10-20 13:30:29
Vector 本来是向量的意思,只不过在用法上类似于一个不限长度的数组。
定义语法:vector<数据类型> 名称;
一、头文件:<vector> (bits/stdc++请忽略)
二、常用方法:
a.size(); //读取大小
a.resize(): //改变大小
a.push_back(); //向尾部添加元素
a.pop_back(); //删除最后一个元素
a.clear(); //清空
a.empty(): //返回是否为空
三、遍历
STL的数据类型几乎(也许是全部)使用迭代器遍历。
vector<int>::iterator it = a.begin(); //创建一个vector类型的迭代器(类似于指针)指向a的首地址
在for中写就是:
for (vector<int>::iterator it = a.begin(); it != a.end();it++)
然后就可以使用*it来访问指向的地址的值了。
四、其他
插入元素: vec.insert(vec.begin()+i,a); 在第i+1个元素前面插入a; (也就是说这个a就是i+1的位置)
删除元素: vec.erase(vec.begin()+2); 删除第3个元素
vec.erase(vec.begin()+i,vec.end()+j); 删除区间[i,j-1];区间从0开始 (这个争议比较大,保留疑惑,正常不用)
待补充…………
最新文章
- [免费了] SailingEase .NET Resources Tool (.NET 多语言资源编辑器)
- MyBatis缓存禁用失败
- Xcode Custom Shortcut
- English Snippets
- Spark Streaming源码解读之Receiver生成全生命周期彻底研究和思考
- Android文件操作
- vc如何编译链接opengl库
- 关于iOS9之后的loadViewIfNeeded
- 关于frameset的一些小总结
- 关于 HashTable
- jquery post跨域请求数据
- Android初级教程人品计算器
- 【BAT面试题系列】面试官:你了解乐观锁和悲观锁吗?
- 前端面试知识点集锦(JavaScript篇)
- C# Global.asax.cs 定时任务
- golang sort包使用
- 开发环境使用docker 快速启动 单机 RocketMq
- mysql之select语法
- Android Studio 运行找不到夜神模拟器
- c# 中foreach 循环