c++ 中常用的 STL

vector

//vector 变长数组 倍增的思想(倍增:系统为每一个程序分配空间的时候,所需要的时间和空间大小无关,与请求次数相关)尽量减少请求的次数

/*
返回元素的个数
size() 判断是否为空
empty() 清空
clear() front() 返回第一个数 back() 返回最后一个数 push_back()/pop_back() begin() / end() 支持比较运算
*/

pair<类型, 类型>

/*
pair<int ,int> 可以存储一个二元值,前后两个值 的类型可以使任意的 first 是第一个元素 second 是第二个元素
支持比较运算,以first为第一关键字, second为第二关键字
*/

string

/*
string 字符串 substr(m, n) 下标从 m 开始 长度为 n 的子串 s_str() size() empty() clear()
*/

queue priority_queue

/*
queue 队列 push() 向队尾插入一个元素
pop() 弹出队头元素
front() 返回队头元素 back() 返回队尾元素 priority_queue 优先队列
push() 插入一个元素
top() 返回堆顶元素
pop() 弹出堆顶元素
*/

stack

/*
stack 栈 size()
push() 向栈顶插入一个元素
top() 返回栈顶元素
pop() 弹出栈顶元素
*/

deque

/*
deque 双端队列 队头队尾都可以插入删除 size()
clear()
front()
back()
push_back()/pop_back()
push_front()/pop_front()
begin() / end()
*/

set map multiset multimap

/*
公有地
size()
empty()
begin()/end()
-- ++ 前驱后继 set/multiset find() 查找一个数
insert() 插入一个数
count() 返回某一个数的个数
erase()
1. 输入一个数x 删除所有的 x 时间复杂度 O(k+logn)
2. 输入一个迭代器 , 删除这个迭代器 lower_bound()/upper_bound()
lower_bound() 返回大于等于x的最小的迭代器
upper_bound() 返回大于x最小的迭代器 map multimap insert() 插入的数是一个pair
erase() 输入的参数时pair 或者迭代器都可以
find() [] 可以通过下标取到 时间复杂度 O(logn)
lower_bound/upper_bound unordered_set unordered_map unordered_mulyiset unordered_multimap
哈希表实现,和上面类似, 增删改查的时间复杂度 O(1)
不支持 lower_bound() / upper_bound()
*/

bitset

/*
bitset 压位 bitset<10000> s; ~ & | ^ == !=
[] count() 返回多少个1 any() 判断是否至少一个1
none() 判断是否为 0 set() 把所有位置置成1
set(k,v) 把第k位改成v
reset() 把所有位置变成0
*/

c++ 常用的 STL的更多相关文章

  1. 常用的STL查找算法

    常用的STL查找算法 <effective STL>中有句忠告,尽量用算法替代手写循环:查找少不了循环遍历,在这里总结下常用的STL查找算法: 查找有三种,即点线面: 点就是查找目标为单个 ...

  2. 刷题常用的STL容器总结

    本文归纳总结刷题常用到STL容器以及一些标准算法,主要包括: string.vector.map.pair.unordered_map.set.queue.priority_queue.stack,以 ...

  3. c++常用函数STL

    完c++快一年了,感觉很有遗憾,因为一直没有感觉到c++的强大之处,当时最大的感觉就是这个东西的输入输出比C语言要简单好写. 后来我发现了qt,opencv,opengl,原来,c++好玩的狠. 在这 ...

  4. 常用的STL

    map      容器和数组一样,不过比较活用,相当于直接离散化数组 map<int ,int>mp 一维int map<string ,string>mp 一维 str ma ...

  5. STL 一些常用的STL函数(持续更新

    先说一下  一边要用到算法的东西一般要加#include<algorithm>头文件 一.栈和队列 1 栈 :一种线性表 特点  后进先出 头文件  #include<stack&g ...

  6. STL——配接器、常用算法使用

    学习STL,必然会用到它里面的适配器和一些常用的算法.它们都是STL中的重要组成部分. 适配器 在STL里可以用一些容器适配得到适配器.例如其中的stack和queue就是由双端队列deque容器适配 ...

  7. STL常用序列容器

    这里简要的记述一下STL常用容器的实现原理,要点等内容. vector vector是比较常用的stl容器,用法与数组是非类似,其内部实现是连续空间分配,与数组的不同之处在于可弹性增加空间,而arra ...

  8. STL(常用)

    STL 简单记录.讲解一些初级阶段常用的用法. STL是C++的一个标准模板库,其中包含了许多在计算机领域常用的基本数据结构以及基本算法.STL主要依赖于模板,使得STL具有广泛的通用性.这篇文章旨在 ...

  9. Effective STL中文版 译序

    <Effective STL中文版>译序 就像本书的前两本姊妹作(Effective C++.More Effective C++)一样,本书的侧重点仍然在于提升读者的经验,只不过这次将焦 ...

  10. STL 贺习笔记

    贺文链接www.cnblogs.com/zhouzhendong/p/STL.html C++ STL 的一些基础用法 前言 ​ 创建一个空的 vector ,我一直是这样写的: vector < ...

随机推荐

  1. Spring Boot 通用对象列表比较和去重

    1.前言   在Excel批量导入数据时,常常需要与数据库中已存在数据的比较,并且需要考虑导入数据重复的可能性.   导入的行数据,一般有一个实体类(对象)与之对应,往往这个实体类在数据库中的字段要比 ...

  2. SparkMLlib机器学习实践:基于聚类的社交媒体分析

    目录 <Spark MLlib 机器学习实践:基于聚类的社交媒体分析> 一.引言 社交媒体作为现代营销的一种重要手段,已经被广泛应用于市场调研.品牌监控.内容分析.用户互动等领域.在这个领 ...

  3. 基于 Probe 的实时全局光照方案(Probe-based Global Illumination)

    目录 Precomputed Probe 预放置 probes 四面体镶嵌(Tetrahedral Tessellations) Indirect Light Cache Volumetric Lig ...

  4. 快速实现 CDN 直播

    功能简介 ZEGO Express SDK 支持推流到 CDN(Content Delivery Network,内容分发网络),包括转推 CDN 和直推 CDN 两种功能.开发者基于该功能可打通 R ...

  5. Stable Diffusion生成图片的参数查看与抹除方法

    前几天分享了几张Stable Diffusion生成的艺术二维码,有同学反映不知道怎么查看图片的参数信息,还有的同学问怎么保护自己的图片生成参数不会泄露,这篇文章就来专门分享如何查看和抹除图片的参数. ...

  6. Mybatis(日志工厂)

    日志工厂 如果一个数据库操作,出现了异常,我们需要排错.所以日志就是最好的助手 曾经:sout.debug 现在:日志工厂 SLF4J[工作中,springboot] LOG4J[掌握] LOG4J2 ...

  7. react18 hooks自定义移动端Popup弹窗组件RcPop

    基于React18 Hooks实现手机端弹框组件RcPop react-popup 基于react18+hook自定义多功能弹框组件.整合了msg/alert/dialog/toast及android ...

  8. AVR汇编(六):分支指令

    AVR汇编(六):分支指令 分支指令用于改变程序的执行流,分为无条件分支和条件分支两类. 无条件分支指令 JMP JMP 指令用于无条件跳转,类似于C中的 goto 关键字, JMP 指令的跳转范围为 ...

  9. 大怨种的pwn的wp

    0x01 pwnable_echo1 军训几天加暑假的活 from pwn import * context(os='linux', arch='amd64', log_level='debug') ...

  10. 当 GPT-4 拥有了 Diff 视图,那真的是如虎添翼!

    目录 1. 当你要求 GPT-4 帮你写点代码时 2. 你需要的背景知识都在这里 2.1 关于 GoPool 和 DevChat 2.2 关于 GoPool 的工作原理 2.3 我想要让 taskQu ...