C++STL库常用库函数总结
C++STL库常用库函数总结
1.vector, 变长数组,倍增的思想size() 返回元素个数empty() 返回是否为空clear() 清空front()/back() 访问第一个元素/最后一个元素push_back()/pop_back() 插入/弹出最后一个元素begin()/end() 开始元素迭代器/结尾元素迭代器[]支持比较运算,按字典序2.pair<int, int>first, 第一个元素second, 第二个元素支持比较运算,以first为第一关键字,以second为第二关键字(字典序)3.string,字符串size()/length() 返回字符串长度empty() 返回是否为空clear() 清空substr(起始下标,(子串长度)) 返回子串c_str() 返回字符串所在字符数组的起始地址4.queue, 队列size() 返回队列长度empty() 返回是否为空push() 向队尾插入一个元素front() 返回队头元素back() 返回队尾元素pop() 弹出队头元素5.priority_queue, 优先队列,默认是大根堆size() 返回队列长度empty() 返回是否为空push() 插入一个元素top() 返回堆顶元素pop() 弹出堆顶元素定义成小根堆的方式:priority_queue<int, vector<int>, greater<int>> q;6.stack, 栈size() 返回栈长度empty() 返回是否为空push() 向栈顶插入一个元素top() 返回栈顶元素pop() 弹出栈顶元素7.deque, 双端队列size() 返回队列长度empty() 返回是否为空clear() 清空队列front()/back() 返回队头元素push_back()/pop_back() 插入/弹出最后一个元素push_front()/pop_front() 插入/弹出第一个元素begin()/end() 开始元素迭代器/结尾元素迭代器[]8.set, map, multiset, multimap, 基于平衡二叉树(红黑树),动态维护有序序列size() 返回长度empty() 返回是否为空clear() 清空队列begin()/end() 开始元素迭代器/结尾元素迭代器++, -- 返回前驱和后继,时间复杂度 O(logn)set/multisetinsert() 插入一个数find() 查找一个数count() 返回某一个数的个数erase()(1) 输入是一个数x,删除所有x O(k + logn)(2) 输入一个迭代器,删除这个迭代器lower_bound()/upper_bound()lower_bound(x) 返回大于等于x的最小的数的迭代器upper_bound(x) 返回大于x的最小的数的迭代器map/multimapinsert() 插入的数是一个pairerase() 输入的参数是pair或者迭代器find()[] 注意multimap不支持此操作。 时间复杂度是 O(logn)lower_bound()/upper_bound()9.unordered_set, unordered_map, unordered_multiset, unordered_multimap, 哈希表和上面类似,增删改查的时间复杂度是 O(1)不支持 lower_bound()/upper_bound(), 迭代器的++,--10.bitset, 圧位bitset<10000> s;~, &, |, ^>>, <<==, !=[]count() 返回有多少个1any() 判断是否至少有一个1none() 判断是否全为0set() 把所有位置成1set(k, v) 将第k位变成vreset() 把所有位变成0flip() 等价于~flip(k) 把第k位取反
C++STL库常用库函数总结相关推荐
- C++语言STL库常用函数
目录 目录 万能头文件 include 1.memset()批量初始化函数 2.next/prev_permutation全排列函数 3.unique去重函数 4.reverse()函数 5.fill ...
- C++常用基础知识—STL库(1)
本文介绍C++常用的STL库知识,常用的函数及其用法,为备战C++编程比赛的朋友及对STL库函数应用时的快速查找提供方便. 后续还会继续更新,请大家多多支持!!! STL简介 顺序性容器 2.1 C+ ...
- 算法竞赛常用STL库
栈(Stack) 概念:就像一个盒子一样,进去想出来就得等上面的先出去,也就是"先进后出". 往往栈的功能有上面四种,下面我们手写一个栈来实现这四种功能来更好的理解一下. 模拟栈的 ...
- C++ 常用的STL库
C语言: 数据结构有很多种-数组-链表-队列-栈-树 需要自己写代码实现 C++ 提供了STL库,里面已经完成了所有数据结构,内部全部都是使用模板实现的. C++提供了数据结构的 模板库,给你用.ST ...
- Qt框架与STL库之间的巅峰对决:差异、优缺点及适用场景
Qt框架与STL库之间的巅峰对决:差异.优缺点及适用场景 引言 对比的重要性 Qt框架与STL库简介 博客内容概览 Qt框架基础 Qt框架的特点与组成 Qt的信号槽机制 Qt容器类简介 数据结构的对比 ...
- c++中algorithm头文件、STL库简介及使用说明
c++中algorithm头文件.STL库简介及使用说明 c++中algorithm头文件是STL的算法部分,里边定义了各种算法,比如sort之类的.加上algorithm就可以使用stl库里的各种算 ...
- STL工具书(常用用法总结)
STL工具书(常用用法总结) 此博客可用于常用STL用法的快速查询与使用, 对于原理方面可以查阅相关文档. 目录 STL工具书(常用用法总结) 1. 容器 1.1 序列式容器 1. 数组(array) ...
- Cpp STL - vector常用语法
<Cpp STL - vector常用语法> STL,英文全称 standard template library,中文可译为标准模板库或者泛型库,其包含有大量的模板类和模板函数,是 ...
- STL库:string
STL库:string 文章目录 STL库:string 1.STL库对于string类的介绍 2.string常用接口的掌握 2.1 string的构造接口 2.2 string的容量操作接口 2. ...
最新文章
- 《JavaScript设计模式与开发实践》模式篇(3)—— 代理模式
- 女程序媛面试总结:我是这样脱颖而出的
- bzoj 1974: [Sdoi2010]代码拍卖会
- 字符串分割函数strtok_r的用法
- 【C++学习五】STL库的应用
- 即插即用!Batch Transformer
- 农历 阴历 转换阳历算法
- YB1205B 外置MOS异步升压恒流LED驱动控制器
- 小武与SSD的相遇笑死我了!
- 简单的java文档扫描器
- IR-CUT选择须知
- 绿盟漏扫系统漏洞及修复方案
- 上海汇珏EPON典型应用分析
- python编写一个赛车游戏
- 如何证明程序的正确性?
- 头疼的动态规划:跳木板
- SSCOM3.2无法保存窗口的问题的解决
- ScroolView 控制最大高度
- 【谷歌插件】Fatkun图片批量下载
- 汽车仪表自动化校验套件 FOne AutoTest-Meter (汽车仪表自动化测试)
热门文章
- 在抖音推荐算法组工作的体验怎么样?
- RemoteWebDriver使用说明
- 在maven的pom.xml文件中导入tomcat插件后启动tomcat7报错
- 7-3 高空坠球(20 分)
- 三分钟 Makefile 编写快速入门
- 备份数据迁移到云端的七种方式
- prometheus+node_exporter+grafana+alertManager+prometheus-webhook-dingtalk实现服务器监控显示,钉钉机器人告警消息通知
- 【高频电子线路】[模型]LC串联谐振回路(第2章 谐振功率放大器)
- Oracle Recovery Tools ----oracle数据库恢复利器
- SwiftUI 教程系列-第三章