算法设计与分析第二章STL简介
1、STL的组成
1)容器(Container)
容器类是容纳、包含一组元素或元素集合的对象;
向量(vector)
双端队列(deque)
列表(list)
集合(set)、多重集合(multiset)
映射(map)和多重映射(multimap)
2)迭代器(Iterator)
①提供访问了容器中对象的方法。(也可以用其他方法访问容器中的对象)
②迭代器就如同一个指针。事实上,C++的指针也是一种迭代器。
3)算法(Algorithm)
① 是用来操作容器中的数据的函数模板。
例如,STL用sort()来对一个vector中的数据进行排序,用find()来搜索一个list中的对象。
②函数本身与他们操作的数据的结构和类型无关,因此他们可以在从简单数组到高度复杂容器的任何数据结构上使用;
4)函数对象(Function object)
所谓函数对象(function object)是重载了函数调用操作符(funiton-call operator())的对象,函数对象的优势在于能很好的满足STL的抽象要求
5)适配器(Adaptor)
将一个class的接口转换为另一个class的接口,使得原本因接口不兼容而不能合作的class