以有限的步骤,解决逻辑上的或数学上的问题,称为算法。
为了提高算法的灵活性和功效,STL的算法允许使用者自定义一些操作(函数),提供给算法调用,这些函数可以是一般函数,也可以是仿函数(struct或类里的“()”重载函数)。
要使用 STL中的算法函数必须包含头文件<algorithm>,STL中算法分类:
- 非可变序列算法----指不直接修改其所操作的容器内容的算法
- 可变序列算法----指可以修改它们所操作的容器内容的算法
- 排序算法----包括对序列进行排序和合并的算法、搜索算法以及有序序列上的集合操作
- 数值算法----对容器内容进行数值计算
官方指导文档参考:<algorithm> - C++ Reference
1、查找算法(13个):判断容器中是否包含某个值
2、堆相关算法(4个)
3、元素/容器关系算法(8个)
4、集合相关算法(4个)
5、排列组合算法(2个)
提供计算给定集合按一定顺序的所有可能排列组合。
6、排序和通用算法(14个)
提供元素排序策略 。
7、删除和替换算法(15个)
8、生成和填充算法(6个)
9、算数算法(4个)