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库常用库函数总结相关推荐

  1. C++语言STL库常用函数

    目录 目录 万能头文件 include 1.memset()批量初始化函数 2.next/prev_permutation全排列函数 3.unique去重函数 4.reverse()函数 5.fill ...

  2. C++常用基础知识—STL库(1)

    本文介绍C++常用的STL库知识,常用的函数及其用法,为备战C++编程比赛的朋友及对STL库函数应用时的快速查找提供方便. 后续还会继续更新,请大家多多支持!!! STL简介 顺序性容器 2.1 C+ ...

  3. 算法竞赛常用STL库

    栈(Stack) 概念:就像一个盒子一样,进去想出来就得等上面的先出去,也就是"先进后出". 往往栈的功能有上面四种,下面我们手写一个栈来实现这四种功能来更好的理解一下. 模拟栈的 ...

  4. C++ 常用的STL库

    C语言: 数据结构有很多种-数组-链表-队列-栈-树 需要自己写代码实现 C++ 提供了STL库,里面已经完成了所有数据结构,内部全部都是使用模板实现的. C++提供了数据结构的 模板库,给你用.ST ...

  5. Qt框架与STL库之间的巅峰对决:差异、优缺点及适用场景

    Qt框架与STL库之间的巅峰对决:差异.优缺点及适用场景 引言 对比的重要性 Qt框架与STL库简介 博客内容概览 Qt框架基础 Qt框架的特点与组成 Qt的信号槽机制 Qt容器类简介 数据结构的对比 ...

  6. c++中algorithm头文件、STL库简介及使用说明

    c++中algorithm头文件.STL库简介及使用说明 c++中algorithm头文件是STL的算法部分,里边定义了各种算法,比如sort之类的.加上algorithm就可以使用stl库里的各种算 ...

  7. STL工具书(常用用法总结)

    STL工具书(常用用法总结) 此博客可用于常用STL用法的快速查询与使用, 对于原理方面可以查阅相关文档. 目录 STL工具书(常用用法总结) 1. 容器 1.1 序列式容器 1. 数组(array) ...

  8. Cpp STL - vector常用语法

    <Cpp STL - vector常用语法>   STL,英文全称 standard template library,中文可译为标准模板库或者泛型库,其包含有大量的模板类和模板函数,是 ...

  9. STL库:string

    STL库:string 文章目录 STL库:string 1.STL库对于string类的介绍 2.string常用接口的掌握 2.1 string的构造接口 2.2 string的容量操作接口 2. ...

最新文章

  1. 《JavaScript设计模式与开发实践》模式篇(3)—— 代理模式
  2. 女程序媛面试总结:我是这样脱颖而出的
  3. bzoj 1974: [Sdoi2010]代码拍卖会
  4. 字符串分割函数strtok_r的用法
  5. 【C++学习五】STL库的应用
  6. 即插即用!Batch Transformer
  7. 农历 阴历 转换阳历算法
  8. YB1205B 外置MOS异步升压恒流LED驱动控制器
  9. 小武与SSD的相遇笑死我了!
  10. 简单的java文档扫描器
  11. IR-CUT选择须知
  12. 绿盟漏扫系统漏洞及修复方案
  13. 上海汇珏EPON典型应用分析
  14. python编写一个赛车游戏
  15. 如何证明程序的正确性?
  16. 头疼的动态规划:跳木板
  17. SSCOM3.2无法保存窗口的问题的解决
  18. ScroolView 控制最大高度
  19. 【谷歌插件】Fatkun图片批量下载
  20. 汽车仪表自动化校验套件 FOne AutoTest-Meter (汽车仪表自动化测试)

热门文章

  1. 在抖音推荐算法组工作的体验怎么样?
  2. RemoteWebDriver使用说明
  3. 在maven的pom.xml文件中导入tomcat插件后启动tomcat7报错
  4. 7-3 高空坠球(20 分)
  5. 三分钟 Makefile 编写快速入门
  6. 备份数据迁移到云端的七种方式
  7. prometheus+node_exporter+grafana+alertManager+prometheus-webhook-dingtalk实现服务器监控显示,钉钉机器人告警消息通知
  8. 【高频电子线路】[模型]LC串联谐振回路(第2章 谐振功率放大器)
  9. Oracle Recovery Tools ----oracle数据库恢复利器
  10. SwiftUI 教程系列-第三章