c++ STL 之 vector 学习笔记
可以看作是一个封装好的动态数组
定义一个 int 类型 vector
vector<int>a;
//不止 int、string、char 类型,还可以自己定义结构体类型
结构体相关例题见👇
方法
插入元素到尾部
a.push_back(10);
//插入 10
删除元素
a.erase(a.begin()+i);
//删除第 i 个元素
返回元素个数
int num = a.size();
遍历 vector 中的元素
1.下标遍历
for(int i = 0; i < a.size()){
cout<<a[i]<<endl;
//下标从 0 开始
}
2.迭代器遍历
for(vector<int>::iterator it = a.begin();it != a.end(); it++){
cout<<*it<<endl;
}
插入元素
a.insert(a.begin()+i, 20);
//在第 i 个位置插入元素20
清空元素
a.clear();
//将 a 中数据全部清除
判断 vector 是否为空
bool x = a.empty();
//若 a 为空 x 为 true , 否则为 false
排序
1.升序排序
sort(a.begin(),a.end());
//该方法默认为升序排序
2.降序排序
sort(a.begin(),a.end());
reverse(a.begin(),a.end());
//升序排序后将其反转
bool cmp(int x,int y){
return x > y;
}
sort(a.begin(),a.end(),cmp);
//定义比较函数,降序排序
排序相关题目见 👇
定义一个二维数组
vector<vector<int>>a;
二维数组相关例题见👇
渣渣初学者渴望得到大佬们指点
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探
· 为什么 退出登录 或 修改密码 无法使 token 失效