工程背景 STL是一个高效的C+程序库 被容纳于C艹标准程序库(C+← Standard library)中, 是ANSI/IS0C++标准中最新的也是极具革命性的一部分 包含了诸多在计算机科学领域里常用的基本数据结构和 基本算法。为广大C+程序员们提供了一个可扩展的应用 框架,高度体现了软件的可复用性
工程背景 STL是一个高效的C++程序库 被容纳于C++标准程序库(C++ Standard Library)中, 是ANSI/ISO C++标准中最新的也是极具革命性的一部分。 包含了诸多在计算机科学领域里常用的基本数据结构和 基本算法。为广大C++程序员们提供了一个可扩展的应用 框架,高度体现了软件的可复用性
STL代码分类 STL的代码从广义上讲分为三类: container(容器) n terator(迭代器) algorithm(算法) 这相比于传统的由函数和类成的库来说提供了更好 的代码重用机会 在C++标准中,STL被组织为下面的13个头文件: < algori thm>、< deque>、< functiona1〉、< lterator < vector>、<list>、<map>、< memory>、< numeric < queue、<set〉、< stack>和< utility>
STL代码分类 STL的代码从广义上讲分为三类: container(容器) iterator(迭代器) algorithm(算法) 几乎所有的代码都采用了模板类和模版函数的方式, 这相比于传统的由函数和类组成的库来说提供了更好 的代码重用机会。 在C++标准中,STL被组织为下面的13个头文件: <algorithm>、<deque>、<functional>、<iterator>、 <vector>、<list>、<map>、<memory>、<numeric>、 <queue>、<set>、<stack>和<utility>
STL容器 经典的数据结构数量有限,但是我们常常重复着一些 为了实现向量、链表等结构而编写的代码,这些代码 都士分相似,只是为了适应不同数据的变化而在细节 有所出入。 STL容器就为我们提供了这样的方便,它允许我们重 复利用已有的实现构造自己的特定类型下的数据 结构,通过设置一些模版类,ST容器对最常用的数 据结构提供了支持,这些模板的参数允许我们指定容 器中元素的数据类型,可以将我们许多重复而乏味的 工作简化。 容器部分主要由头文件 Vector>, < list>, deque>, <set>,<map>, stack>FH queue>组成
STL容器 经典的数据结构数量有限,但是我们常常重复着一些 为了实现向量、链表等结构而编写的代码,这些代码 都十分相似,只是为了适应不同数据的变化而在细节 上有所出入。 STL容器就为我们提供了这样的方便,它允许我们重 复利用已有的实现构造自己的特定类型下的数据 结构,通过设置一些模版类,STL容器对最常用的数 据结构提供了支持,这些模板的参数允许我们指定容 器中元素的数据类型,可以将我们许多重复而乏味的 工作简化。 容器部分主要由头文件 <vector>,<list>,<deque>,<set>,<map>,<stack>和 <queue>组成
STL容器组成 〉向量( vector)连续存储的元素< vector 列表(list)由节点组成的双向链表,每个结点包含着一个元素<list> 双队列( deque)连续存储的指向不同元素的指针所组成的数组< deque 集合(set)由节点组成的红黑树,每个节点都包含着一个元素,节点之间 以某种作用于元素对的谓词排列,没有两个不同的元素能够拥有相同的次 序<set> 多重集合( multiset)允许存在两个次序相等的元素的集合<set> 栈( stack)后进先出的值的排列< stack> 队列( queue)先进先出的执的排列< queue 优先队列( priority queue)元素的次序是由作用于所存储的值对上的某 种谓词决定的的一种队列< queue 映射(map)由{键,值}对组成的集合,以某种作用于键对上的谓词排列 <map> 多重映射( multimap)允许键对有相等的次序的映射<map
向量(vector) 连续存储的元素 <vector> 列表(list) 由节点组成的双向链表,每个结点包含着一个元素 <list> 双队列(deque)连续存储的指向不同元素的指针所组成的数组 <deque> 集合(set) 由节点组成的红黑树,每个节点都包含着一个元素,节点之间 以某种作用于元素对的谓词排列,没有两个不同的元素能够拥有相同的次 序 <set> 多重集合(multiset) 允许存在两个次序相等的元素的集合 <set> 栈(stack) 后进先出的值的排列 <stack> 队列(queue) 先进先出的执的排列 <queue> 优先队列(priority_queue) 元素的次序是由作用于所存储的值对上的某 种谓词决定的的一种队列 <queue> 映射(map) 由{键,值}对组成的集合,以某种作用于键对上的谓词排列 <map> 多重映射(multimap) 允许键对有相等的次序的映射 <map> STL容器组成
STL中的容器 顺序容器 vector、 deque、list 非标准的顺序容器: slist、rope 关联容器 set、 multiset、map、 mul timap 非标准的关联容器: hash set、 hash multiset、 hash map、 hash multimap
STL中的容器 顺序容器 vector、deque、list 非标准的顺序容器: slist、rope 关联容器 set、multiset、map、multimap 非标准的关联容器: hash_set、hash_multiset、hash_map、 hash_multimap