- 配套视频
- 一、 STL部分
- 1.1 queue (FIFO)
- 1.1.1 头文件
- 1.1.2 定义
- 1.1.3 基本操作
- 1.1.4 应用
- 1.2 stack (FILO)
- 1.2.1 头文件
- 1.2.2 定义
- 1.2.3 基本操作
- 1.2.4 应用
- 1.3 priority_queue
- 1.3.1 头文件
- 1.3.2 定义
- 1.3.3 基本操作
- 1.3.4 应用
- 1.3.5 重载代码
- 1.4 vector
- 1.4.1 头文件
- 1.4.2 定义和特点
- 1.4.3 基本操作
- 1.4.4 应用
- 1.5 set
- 1.5.1 头文件
- 1.5.2 定义
- 1.5.3 基本操作
- 1.5.4 重载代码
- 1.6 unordered_set
- 1.7 map
- 1.5.1 头文件
- 1.5.2 定义
- 1.5.3 基本操作
- 1.5.4 应用
- 1.8 unordered_map
- 1.8.1 头文件
- 1.8.2 和map区别
- 1.9 pair
- 1.9.1 头文件
- 1.9.2 定义
- 1.9.3 基本使用
- 1.9.4 应用场景
- 1.10迭代器`iterator`
- 1.10.1定义方法
- 1.10.2 使用
- 1.10.3 详细学习资料
- 1.10 string
- 二、Algorithm部分
- 2.1 sort
- 2.2 __gcd
- 2.3 max
- 2.4 min
- 2.5 abs
- 2.6 swap
- 2.7 reverse
- 2.8 next_permutation
- 2.9 lower_bound
- 2.10 upper_bound
- 训练题单
蓝桥杯集训之Algorithm库函数: https://www.bilibili.com/video/BV1ia411B7U2
蓝桥杯集训之STL演示:https://www.bilibili.com/video/BV1Z3411v72U
蓝桥杯集训之Algorithm库函数:https://www.bilibili.com/video/BV1Y34y1z7uX
一、 STL部分 1.1 queue (FIFO) 1.1.1 头文件使用该容器需要#include
头文件
queue que;
//这个int可以更换成自己想要的数据
1.que.size() 返回队列元素数量
2.que.empty() 返回队列是否为空(空返回true,反之false)
3.que.push() 加入队列
4.que.pop() 出队
5.que.front() 返回队首
6.que.back() 返回队尾
1.1.4 应用队列广泛引用在广度优先搜索(BFS)里、约瑟夫环问题等
1.2 stack (FILO) 1.2.1 头文件使用该容器需要#include
头文件
stack S;
1.S.size()
返回栈里元素个数
2.S.empty()
返回栈是否为空(空返回true,反之false)
3.S.push()
压入一个元素进栈
4.S.pop()
从栈弹出一个元素
5.S.top()
返回栈顶
逆波兰表达式等
1.3 priority_queue 1.3.1 头文件使用该容器需要#include
头文件
priority_queue que;
默认大顶堆,通过添加greater
就能获得小顶堆
但是要注意这里如果想使用自定义的数据结构的话,需要手写排序规则:
eg:
struct Node //运算符重载
{
int a,b;
int val;
bool friend operator y.val;
}
};
priority_queue que;
1.3.3 基本操作
1.que.size() 返回队列元素数量
2.que.empty() 返回队列是否为空(空返回true,反之false)
3.que.push() 加入队列
4.que.pop() 出队
5.que.top() 返回队首
1.3.4 应用应用在一些贪心的算法上面,优化dijkstra复杂度等
1.3.5 重载代码pq.push(item):添加元素 O(logn)
pq.pop():使优先级最高的出队O(logn)
pq.top():获取优先级最高的元素O(1)
pq.size():获取元素个数O(1)
pq.empty():是否为空O(1)
优先队列的定义:
priority_queue q1; //默认从大到小,大顶堆
priority_queue q2; //降序队列,大顶堆
priority_queue q3; //升序队列,小顶堆
对于结构体定义:
struct T1{//法一 强烈推荐
int x,y;
friend bool operator
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?