# :-: **STL(模板库)简介**
* [STL](https://baike.baidu.com/item/STL/70103?fr=aladdin)是Standard Template Library的简称,它是由Alexander Stepanov、Meng Lee和David R Musser在惠普实验室工作时所开发出来的。
* 从根本上说,STL是一些**容器**的集合,这些**容器**有list,vector,set,map等,STL也是算法和其他一些组件的集合。这里的**容器**和算法的集合指的是世界上很多聪明人很多年的杰作。
* STL的目的是标准化组件,这样就不用重新开发,可以使用现成的组件。STL现在是C++的一部分,因此不用安装额外的库文件。
---
### **为什么要学STL呢?**
* 方便。比如你要实现一个链式队列,以及它的一系列功能,你需要敲几十乃至上百行代码,还要投入精力debug,可在STL里,给你做好现成的queue你用不用?现成的快排你用不用?平均复杂度**O(nlogn)**的排序只要几句话,手写一个冒泡也得好几行吧?还卡时。
---
### **一些常用的容器**
* 向量(vector) 连续存储的元素\<vector>
* 映射(map) 由{键,值}对组成的集合,以某种作用于键对上的谓词排列 \<map>
* 集合(set) 由节点组成的红黑树,每个节点都包含着一个元素,节点之间以某种作用于元素对的谓词排列,没有两个不同的元素能够拥有相同的次序 \<set>
* 字符串(string)表示可变长的字符串,它在头文件string里面
* 栈(stack) 后进先出的值的排列 \<stack>
* 队列(queue) 先进先出的执的排列 \<queue>
* 优先队列(priority_queue) 元素的次序是由作用于所存储的值对上的某种谓词决定的的一种队列 \<queue>
#### **不常用的**
* 多重集合(multiset) 允许存在两个次序相等的元素的集合 \<set>
* 列表(list) 由节点组成的双向链表,每个结点包含着一个元素\<list>
* 双队列(deque) 连续存储的指向不同元素的指针所组成的数组\<deque>
* 多重映射(multimap) 允许键对有相等的次序的映射 \<map>
#### **代码规范:**
``` c
#include<vector> //比如vector,当然<>里边可以换成map,set,string...
using namespace std;
```
`另外两个队友今天出去吃饭了,队友请客 我没去我好伤心`
- 简介
- 零基础快速入门ACM
- C语言快速入门
- C语言快速入门
- C/C++基础
- 输入输出
- 数组和字符串
- 数组
- 字符数组
- 函数和递归
- C++标准容器库(STL)
- Vector
- Map
- Set
- String
- Stack
- Queue
- Priority_queue
- 贪心
- 硬币问题
- 区间调度问题
- 字典序最小问题
- 独木舟问题
- 搜索
- DFS
- BFS
- 剪枝
- 记忆化搜索
- 常用技巧
- 倍增
- 高精度
- 大数加法
- 大数减法
- 大数乘法
- 大数除法
- 大数阶乘
- 输入挂
- 前缀和
- 二分
- 本地预处理
- 尺取
- 枚举
- 坐标离散化
- 分治
- 数列分治
- 树上分治
- 平面分治
- 计算几何
- 凸包
- 点积
- 叉积
- 线段关系
- 皮克定理
- 最近点对
- 数据结构
- 线段树
- 树状数组
- 并查集
- 动态规划
- 基础知识
- 信息学竞赛中的动态规划
- 动态规划初步
- 最长上升子序列(LIS)
- 最长公共子序列(LCS)
- 最大子段和
- 背包问题
- 部分背包
- 0 1 背包
- 完全背包
- 多重背包
- 背包的可行性问题
- 线性DP
- 树形DP
- 区间DP
- 数位DP
- 动态规划优化
- 字符串
- KMP算法
- 拓展KMP
- 字符串Hash
- Manacher算法
- 后缀数组
- Trie树
- 博弈论
- Nim博弈
- Bash博弈
- 斐波那契博弈
- 威佐夫博弈
- SG函数
- 数论
- 整数研究
- 素数判断
- 素数筛选
- 快速幂
- 算数基本定理
- 最大公约数(Gcd)
- 费马小定理
- 扩展欧几里得
- 逆元
- 同余定理
- 组合数学
- 容斥原理
- 抽屉原理
- 卢卡斯(Lucas)
- 卡特兰(Catalan)
- 著名函数
- 欧拉函数
- 莫比乌斯函数
- 线性代数
- 矩阵运算
- 矩阵快速幂
- 图论
- 存图方法
- 邻接矩阵
- 邻接表
- Vector存图
- 链式前向星
- 图的遍历
- 拓扑排序
- 最短路
- Dijkstra算法
- SPFA算法
- Floyed 算法
- 最小生成树
- Prim算法
- Kruskal算法
- 最近公共祖先 (LCA)
- 二分图匹配
- 网络流
- 其他
- 莫队