资源预览需要最新版本的Flash Player支持。
您尚未安装或版本过低,建议您
第十一章标准模板库(STL)库(LIBRARY)是一系列程序组件的集合,它们可以在不同的程序中重复使用。库函数设计的第一位的要求就是通用性,模板(TEMPLATE)为通用性带来了不可估量的前景,我们可以在使用模板时才对某些类型作选择。模板是标准C实现代码复用的有力工具,特别是在有关数据结构的算法方面。为程序员提供大量实用的库是C的又一特色。标准模板库(STANDARDTEMPLATELIBRARY)是ANSI/ISOC最有特色、最实用的部分之一。STL包含了容器类(CONTAINER)、迭代子(ITERATOR)和算法(ALGORITHM)三个部分。泛型算法(GENERICALGORITHM)和函数对象(FUNCTIONOBJECT)的概念与使用使算法摆脱了对不同类型数据个性操作的依赖,这样就可以编出更具通用性的算法。111标准模板库简介113顺序容器112迭代子类115容器适配器117VC中的STL116泛型算法与函数对象114关联容器第十一章标准模板库(STL)111标准模板库简介容器类是管理序列的类,是容纳一组对象或对象集的类。通过由容器类提供的成员函数,可以实现诸如向序列中插入元素,删除元素,查找元素等操作,这些成员函数通过返回迭代子来指定元素在序列中的位置。STL提供了一个标准化的模板化的对象容器库,包含多种数据结构及其算法,可以节省大量的时间和精力,而且程序是高质量的。迭代子是面向对象版本的指针,它提供了访问容器或序列中每个对象的方法。这样就可以把算法用于容器所管理的序列。泛型算法不依赖于具体的容器,通用的算法更易于扩充。泛型算法中采用函数对象(FUNCTIONOBJECT)引入不同情况下同一算法的差异。它没有使用继承和多态,避免了虚函数的开销,使STL效率更高。111标准模板库简介容器分为三大类标准库容器类说明顺序容器VECTOR(参量)DEQUE(双端队列)LIST(列表)从后面快速插入与删除,直接访问任何元素从前面或后面快速插入与删除,直接访问任何元素从任何地方快速插入与删除,双链表关联容器SET(集合)MULTISET(多重集合)MAP(映射)MULTIMAP(多重映射)快速查找,不允许重复值快速查找,允许重复值一对一映射,基于关键字快速查找,不允许重复值一对多映射,基于关键字快速查找,允许重复值容器适配器STACK(栈)QUEUE(队列)PRI