華束师免天學数学科学学院 School of Mathematical Sciences,East China Normal University 第十六讲 标准模板库 STL:Standard Template Library http://math.ecnu.edu.cn/~jypan
http://math.ecnu.edu.cn/~jypan 第十六讲 标准模板库 STL:Standard Template Library
标准模板库STL C++STL是一套功能强大的C++模板库,提供了大量的通 用模板类和模板函数,这些模板类和模板函数可以实现多种 流行和常用的算法和数据结构,如向量、链表、队列、栈, 等等,大大提升软件开发的效率。 http://math.ecnu.edu.cn/~jypan
http://math.ecnu.edu.cn/~jypan 标准模板库 STL C++ STL 是一套功能强大的 C++ 模板库,提供了大量的通 用模板类和模板函数,这些模板类和模板函数可以实现多种 流行和常用的算法和数据结构,如向量、链表、队列、栈, 等等,大大提升软件开发的效率
STL三大核心组件 容器Containers 用来存储数据的一种数据结构(模板类),如向量,链表 ■算法Algorithms 对数据的各种操作(模板函数),如插入,排序,搜索等 ■迭代器iterators 访问容器中的数据的方法,作用类似于指针 http://math.ecnu.edu.cn/~jypan 3
http://math.ecnu.edu.cn/~jypan 3 STL 三大核心组件 容器 Containers 用来存储数据的一种数据结构(模板类),如向量,链表 算法 Algorithms 对数据的各种操作(模板函数),如插入,排序,搜索等 迭代器 iterators 访问容器中的数据的方法,作用类似于指针
容器Containers 顺序容器/序列容器 关联容器 容器适配器 http://math.ecnu.edu.cn/~jypan 4
http://math.ecnu.edu.cn/~jypan 容器 Containers 顺序容器/序列容器 关联容器 容器适配器 1 4
容器:顺序容器 口顺序容器/序列容器(Sequential Containers) 按顺序(物理/逻辑)存储数据,如数组,链表等→数据结构 array 数组,长度不能改变 vector 只能在最后面插入或删除数据 deque 与vector类似,但允许在最前面插入或删除数据 list 双向链表,可在任意位置插入或删除数据 forward list 与1ist类似,但是单向的,只能沿一个方向访问 string 字符串,与vector类似,但存储的是字符 http://math.ecnu.edu.cn/~jypan 5
http://math.ecnu.edu.cn/~jypan 容器:顺序容器 顺序容器/序列容器(Sequential Containers) 按顺序(物理/逻辑)存储数据,如数组,链表等 数据结构 array 数组,长度不能改变 vector 只能在最后面插入或删除数据 deque 与 vector 类似,但允许在最前面插入或删除数据 list 双向链表,可在任意位置插入或删除数据 forward_list 与 list 类似,但是单向的,只能沿一个方向访问 string 字符串,与 vector 类似,但存储的是字符 5