STL(standard template library) 标准模板库
应用场景:c++面向对象(三大特性)和泛型编程的特点都是为了提高复用性,减少重复操作,提高效率。相应的,一些数据结构与算法也需要复用性的提升来提高效率,那么数据结构与算法的标准,就是STL
STL主要划分为三部分:容器、算法和迭代器。
完整为六部分:容器、算法、迭代器、仿函数、适配器(配接器)、空间配置器
1.容器:各种数据结构,存放数据。
2.算法:各种算法。
3.迭代器:作为桥梁连接容器与算法。
4.适配器:修饰接口。 可修饰容器、迭代器、仿函数的接口。
5.仿函数:其行为类似函数重载,作为算法的某种策略。
6.空间配置器:空间配置与管理。数据的不同区域存放情况处理。
略微阐述:
容器:通过不同的数据结构来实现,并由此分为两类:
序列式容器:存放数据按一定顺序排序存放
关联式容器:存放数据无固定物理顺序,而以彼此的关联关系存放
算法:有限步骤解决问题,同样由其功能分为两类:
质变算法:算法实现后会改变存放数据的值。
非质变算法:算法实现后不改变存放数据的值。
迭代器:每个容器有专属的迭代器。
迭代器提供一种方法,来在不暴露容器内部表示方式的情况下依序寻找容器中的特定元素内容。