STL

相关文件

https://data.educoder.net/api/attachments/8457162?disposition=inline&filesize=2688702

STL诞生

  • 数据结构和算法未能有一套标准,导致被迫从事大量重复工作
  • 为了建立数据结构和算法标准,诞生了STL

STL基本概念

  • STL(Standard Template Library,标准模板库 )
  • 分类:容器(container),算法(algorithm)迭代器(iterator)
  • 迭代器是算法和容器之间的桥梁
  • STL几乎所有的代码都采用了模板类或者模板函数

STL六大组件

  • 容器:各种数据结构,如,vector,list,deque,set,map等,用来存放数据。
  1. 将一些数据结构实现出来
  2. 常用的数据结构:数组,链表,树,栈,队列,集合,映射表 等
  3. 这些容器还可以分类为
    序列式容器:(你输入的是什么就是什么)强调值的排序,每个元素均有固定的位置
    关联式容器(你输入的一列数字可能发生改变,顺序由无序变成有序):二叉树结构,个元素之间没有严格的物理上的顺序关系。
  • 算法:各种常用算法,如sort,find,copy,for_each等
  1. 有限的步骤解决逻辑或数学上的问题
  2. 算法分类
    质变算法:运算过程中会更改区间内的元素的内容,eg:拷贝,替换,删除等
    非质变算法:运算过程中不会更改区间内的元素的内容,eg:查找,计数,遍历,寻找极值等等
  • 迭代器:扮演了容器与算法之间的胶合剂
  1. 算法通过迭代器来访问容器中的数据
  2. 每个容器·都有自己的迭代器
  3. 迭代器类似于指针
  4. 分类
    image
  • 仿函数:行为类似函数,可作为算法的的某种策略
  • 适配器:一种用来修饰容器或者仿函数或者迭代器接口的东西
  • 空间配置器:负责空间的配置与管理
posted @ 2024-03-11 18:19  777CC  阅读(19)  评论(0)    收藏  举报