GeekBand STL与泛型编程 -- 3

1. 算法头文件 (Header File)

  1. 要使用标准库的算法,首先要包含头文件 <algorithm>
    #include <algorithm>
  2. 某些 STL 算法用于数值处理,被定义于 <numeric>
    include <numeric>
  3. 使用算法时,常用到 function object 及 function adapter ,定义于 <functional>
    include <functional>

2. 算法简介

  1. 所有 STL 算法都被设计用来处理一个或多个 iterator 区间。第一个区间通常以起点和终点表示,其他区间则多数情况下只需提供起点,其终点可自己推导。当然,调用者必须保证有足够的空间。
  2. STL 算法采用 overwrite 而非 insert 模式。所以调用者必须保证目的区间拥有足够空间。另一个方法就是运用 insert iterator.
  3. 某些 STL 算法允许使用者提供自定义操作,由 STL 算法调用。这些操作可以是寻常函数,亦可以是 functior.

3. 算法分类

  1. 非更易型算法 (nonmodifying algorithm)


    nonmodifying algorithm
  2. 更易型算法 (modifying algorithm)


    modigying algorithm
  3. 排序算法 (sorting algorithm)


    sorting algorithm
  4. 数值算法 (numeric algorithm)


    numric algorithm

注:笔记中基本所有截图都来自于 www.cpluscplus.com
注:部分内容参考自《c++标准库》

推荐阅读更多精彩内容