STL
相关文件
https://data.educoder.net/api/attachments/8457162?disposition=inline&filesize=2688702
STL诞生
- 数据结构和算法未能有一套标准,导致被迫从事大量重复工作
- 为了建立数据结构和算法标准,诞生了STL
STL基本概念
- STL(Standard Template Library,标准模板库 )
- 分类:容器(container),算法(algorithm)迭代器(iterator)
- 迭代器是算法和容器之间的桥梁
- STL几乎所有的代码都采用了模板类或者模板函数
STL六大组件
- 容器:各种数据结构,如,vector,list,deque,set,map等,用来存放数据。
- 将一些数据结构实现出来
- 常用的数据结构:数组,链表,树,栈,队列,集合,映射表 等
- 这些容器还可以分类为
 序列式容器:(你输入的是什么就是什么)强调值的排序,每个元素均有固定的位置
 关联式容器(你输入的一列数字可能发生改变,顺序由无序变成有序):二叉树结构,个元素之间没有严格的物理上的顺序关系。
- 算法:各种常用算法,如sort,find,copy,for_each等
- 有限的步骤解决逻辑或数学上的问题
- 算法分类
 质变算法:运算过程中会更改区间内的元素的内容,eg:拷贝,替换,删除等
 非质变算法:运算过程中不会更改区间内的元素的内容,eg:查找,计数,遍历,寻找极值等等
- 迭代器:扮演了容器与算法之间的胶合剂
- 算法通过迭代器来访问容器中的数据
- 每个容器·都有自己的迭代器
- 迭代器类似于指针
- 分类
 ![image]() 
- 仿函数:行为类似函数,可作为算法的的某种策略
- 适配器:一种用来修饰容器或者仿函数或者迭代器接口的东西
- 空间配置器:负责空间的配置与管理
 
                    
                     
                    
                 
                    
                

 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号