STL基础知识
1、STL简介
C++提供的一套标准模板库,所谓模板库是可以存放任意的数据类型可以重复使用的模板库
2、STL的六大组件
容器:存放数据
算法:操作数据
迭代器:算法通过迭代器操作容器,迭代器是容器和算法之间的桥梁。也即算法借助迭代器操作容器
适配器:为算法提供更多的接口,比如说某一函数只需要两个参数,但是现在必须我要现在传递三个函数参数,这个时候就会使用到适配器就能为函数传递三个参数
仿函数:为算法提供策略,对于结构体、类和对象这些自定义类型,如果要进行排序,只要告诉两者如何比较就可以
空间配置:为算法和容器提供动态空间
3、STL的优点
(1)、是c++的一部分,因此不需要额外安装什么,只要c++的环境配置好就可以使用,被内建在c++的编译器之中
(2)、将数据和操作分离
(3)、根据数据复杂度自动选择排序方法,使用者只管使用
(4)、高重用性、高移植性、高性能、跨平台等优点
4、STL的三大组件
容器
算法分类:质变算法和非质变算法
质变算法:会改变容器的值(增、删、改)
非质变算法:不会改变容器的值(查找值、遍历、寻找最大最小值等)
迭代器:算法借助迭代器操作容器