1. 算法头文件 (Header File)
- 要使用标准库的算法,首先要包含头文件 <algorithm>
#include <algorithm>
- 某些 STL 算法用于数值处理,被定义于 <numeric>
include <numeric>
- 使用算法时,常用到 function object 及 function adapter ,定义于 <functional>
include <functional>
2. 算法简介
- 所有 STL 算法都被设计用来处理一个或多个 iterator 区间。第一个区间通常以起点和终点表示,其他区间则多数情况下只需提供起点,其终点可自己推导。当然,调用者必须保证有足够的空间。
- STL 算法采用 overwrite 而非 insert 模式。所以调用者必须保证目的区间拥有足够空间。另一个方法就是运用 insert iterator.
- 某些 STL 算法允许使用者提供自定义操作,由 STL 算法调用。这些操作可以是寻常函数,亦可以是 functior.
3. 算法分类
-
非更易型算法 (nonmodifying algorithm)
nonmodifying algorithm -
更易型算法 (modifying algorithm)
modigying algorithm -
排序算法 (sorting algorithm)
sorting algorithm -
数值算法 (numeric algorithm)
numric algorithm
注:笔记中基本所有截图都来自于 www.cpluscplus.com
注:部分内容参考自《c++标准库》
网友评论