C++ STL容器操作大全
需积分: 9 79 浏览量
更新于2024-09-10
收藏 383KB PDF 举报
C++STL操作大全
C++ STL(Standard Template Library)是C++标准库中的一个组件,提供了大量的泛型容器、算法和迭代器,帮助开发者快速构建高效、可靠的应用程序。下面是C++ STL中的一些重要知识点:
一、Vector
Vector是C++ STL中的一个序列容器,提供了动态数组的功能。其主要特点是可以动态增长或缩小,且提供了随机访问的功能。
* vector声明:`vector<类型> Vectorname`
* vector操作:
+ `v.front()`: 返回对第一个元素的引用
+ `v.back()`: 返回对最后一个元素的引用
+ `v.clear()`: 清空vector
+ `v.empty()`: 如果为空,返回true,否则返回false
+ `v.begin()`: 返回指向第一个元素的迭代器
+ `v.end()`: 返回指向最后一个元素的迭代器
+ `v.pop_back()`: 删除vector的最后一个元素
+ `v.push_back(value)`: 将value放到vector的最后
+ `v.size()`: 返回vector中元素的个数
+ `v.rbegin()`: 返回指向末尾的逆向迭代器
+ `v.rend()`: 返回指向开头之前位置的逆向迭代器
+ `v.erase(loc)`: 删除loc所指元素,并返回下一元素迭代器
+ `v.erase(start,end)`: 删除[start,end)元素,并返回最后被删除元素的下一个迭代器
+ `v.insert(loc,value)`: 在loc位置插入一个value并返回其迭代器
+ `v.insert(loc,num,value)`: 在loc位置插入num个value
+ `v.insert(loc,start,end)`: 在loc位置插入[start,end)间的元素
* vector算法:
+ `v.erase(unique(v.begin(),v.end()),v.end())`: 对vector进行排重
+ `v.erase(remove(v.begin(),v.end(),value),v.end())`: 删除vector中值为value的元素
+ `sort(v.begin(),v.end())`: 对vector进行从小到大排序
二、Stack
Stack是C++ STL中的一个适配器容器,提供了一个后进先出的栈结构。
* stack声明:`stack<类型名[,存储容器]> Stackname`
* stack操作:
+ `s.empty()`: 栈空返回true,否则返回false
+ `s.pop()`: 移除堆栈中最顶层元素
+ `s.push()`: 压栈
+ `s.size()`: 返回当前栈中的元素个数
+ `s.top()`: 引用栈顶元素
三、Queue
Queue是C++ STL中的一个适配器容器,提供了一个先进先出的队列结构。
* queue声明:`queue<类型名[,存储容器]> Queuename`
* queue操作:
+ `q.empty()`: 队列空返回true,否则返回false
+ `q.pop()`: 移除队列中最前面的元素
+ `q.push()`: 将元素压入队列
+ `q.size()`: 返回当前队列中的元素个数
+ `q.front()`: 引用队列最前面的元素
+ `q.back()`: 引用队列最后面的元素
C++ STL提供了丰富的容器和算法,帮助开发者快速构建高效、可靠的应用程序。
2010-05-26 上传
2019-07-24 上传
2021-05-17 上传
2014-05-29 上传
2012-02-28 上传
2010-10-29 上传
2009-12-15 上传
103 浏览量
ninesun127
- 粉丝: 152
- 资源: 16
最新资源
- StarModAPI: StarMade 模组开发的Java API工具包
- PHP疫情上报管理系统开发与数据库实现详解
- 中秋节特献:明月祝福Flash动画素材
- Java GUI界面RPi-kee_Pilot:RPi-kee专用控制工具
- 电脑端APK信息提取工具APK Messenger功能介绍
- 探索矩阵连乘算法在C++中的应用
- Airflow教程:入门到工作流程创建
- MIP在Matlab中实现黑白图像处理的开源解决方案
- 图像切割感知分组框架:Matlab中的PG-framework实现
- 计算机科学中的经典算法与应用场景解析
- MiniZinc 编译器:高效解决离散优化问题
- MATLAB工具用于测量静态接触角的开源代码解析
- Python网络服务器项目合作指南
- 使用Matlab实现基础水族馆鱼类跟踪的代码解析
- vagga:基于Rust的用户空间容器化开发工具
- PPAP: 多语言支持的PHP邮政地址解析器项目