第十一章标准模板库(STL 〓〓〓〓〓〓 库( library)是一系列程序组件的集合,它 们可以在不同的程序中重复使用。库函数设计的 第一位的要求就是通用性,为程序员提供大量实 用的库是C++的又一特色。 标准模板库( Standard Template Library) 是ANSI/IS0C++最有特色、最实用的部分之一。 STL包含了容器类( container)、迭代子 terator)和算法 去( algori thm )三个部分
第十一章 标准模板库(STL) 库(library)是一系列程序组件的集合,它 们可以在不同的程序中重复使用。库函数设计的 第一位的要求就是通用性,为程序员提供大量实 用的库是C++的又一特色。 标准模板库(Standard Template Library) 是ANSI/ISO C++最有特色、最实用的部分之一。 STL 包含了容器类 ( container ) 、 迭代子 (iterator)和算法(algorithm)三个部分
第十一章标准模板库(STL) 111标准模板库简介 11.5容器适配器 11.2迭代子类 1.6泛型算法与函数对象 11.3顺序容器 11.7VC++中的STL 1.4关联容器
第十一章 标准模板库(STL) 11.1 标准模板库简介 11.3 顺序容器 11.2 迭代子类 11.5 容器适配器 11.7 VC++中的STL 11.6 泛型算法与函数对象 11.4 关联容器
11.1标准模板库简介 sTL提供了一个标准化的模板化的对象容器库,包含多种数据结 构及其算法,可以节省大量的时间和精力,而且程序是高质量的。 容器类是管理序列的类,是容纳一组对象或对象集的对象,甚 至可以包含混合的对象,包含一组不同类型的对象,称为异类容器 ( heterogeneous container),一组相同类型的对象,称为同 类容器( homogenous container)。通过由容器类提供的成员函 数,可以实现诸如向序列中插入元素,删除元素,查找元素等操作, 这些成员函数通过返回迭代子来指定元素在序列中的位置。迭代子 是面向对象版本的指针,它提供了访问容器或序列中每个对象的方 法。这样就可以把算法用于容器所管理的序列。 四P四
11.1 标准模板库简介 STL提供了一个标准化的模板化的对象容器库,包含多种数据结 构及其算法,可以节省大量的时间和精力,而且程序是高质量的。 容器类是管理序列的类,是容纳一组对象或对象集的对象,甚 至可以包含混合的对象,包含一组不同类型的对象,称为异类容器 (heterogeneous container),一组相同类型的对象,称为同 类容器(homogenous container)。通过由容器类提供的成员函 数,可以实现诸如向序列中插入元素,删除元素,查找元素等操作, 这些成员函数通过返回迭代子来指定元素在序列中的位置。迭代子 是面向对象版本的指针,它提供了访问容器或序列中每个对象的方 法。这样就可以把算法用于容器所管理的序列
11.1标准模板库简介 容器分为三大类: 顺序容器( sequence container or sequential container) 关联容器( associative container) 容器适配器( container adopter) 顺序容器和关联容器称为第一类容器( first-class container)。另外有四种容器称为近容器( near container): C语言风格数组、字符串 string、操作1/0标志值的bbet和进行 高速数学矢量运算的 valarray
11.1 标准模板库简介 容器分为三大类: 顺序容器(sequence container or sequential container) 关联容器(associative container) 容器适配器(container adopter) 顺 序 容 器 和 关 联 容 器 称 为 第 一 类 容 器 ( first-class container)。另外有四种容器称为近容器(near container): C语言风格数组、字符串string、操作1/0标志值的bitset和进行 高速数学矢量运算的valarray
11.1标准模板库简介 标准库容器类 说明 顺序容器 vector(参量) 从后面快速插入与删除,直接访问任何元素 deque(双端队列) 从前面或后面快速插入与删除,直接访问任何元素 ist(列表) 从任何地方快速插入与删除,双链表 关联容器 set(集合) 快速查找,不允许重复值 multiset(多重集合) 快速查找,允许重复值 map(映射) 对一映射,基于关键字快速查找,不允许重复值 multimap(多重映射)一对多映射,基于关键字快速查找,允许重复值 容器适配器 stack(栈) 后进先出(LIFo) queue(队列) 先进先出(FIFo) priority queue(优先级最高优先级元素总是第一个出列 队列) P四 表111标准库容器类
11.1 标准模板库简介 标准库容器类 说明 顺序容器 vector(参量) deque(双端队列) list(列表) 从后面快速插入与删除,直接访问任何元素 从前面或后面快速插入与删除,直接访问任何元素 从任何地方快速插入与删除,双链表 关联容器 set(集合) multiset(多重集合) map(映射) multimap(多重映射) 快速查找,不允许重复值 快速查找,允许重复值 一对一映射,基于关键字快速查找,不允许重复值 一对多映射,基于关键字快速查找,允许重复值 容器适配器 stack(栈) queue(队列) priority_queue(优先级 队列) 后进先出(LIFO) 先进先出(FIFO) 最高优先级元素总是第一个出列 表11.1 标准库容器类