algorithm 是C++标准程序库中的一个头文件,定义了C++ STL标准中的基础性的算法(均为函数模板)。在C++98中,共计有70个算法模板函数;在C++11中,增加了20个算法模板函数。其中有5个算法模板函数定义在头文件numeric中。
下文所称的“序列”(sequence),是指可以用迭代器顺序访问的容器。
根据算法的功能,可以分成24种类型:
1 对序列的每个元素执行函数调用
2 测试序列的性质
3 有序序列中的边界查找
4 比较
5 复制、
6 计数
7 填充、
8 单值过滤
9 生成
10 堆操作
11 合并
12 最大最小
13 移动语义
14 划分
15 排列
16 随机洗牌
17 删除
18 替换
19 逆序
20 旋转
21 搜索
22 集合操作
23 排序
24 交换
后续文章将会逐个介绍算法的具体用法。