标准库算法

什么是一个算法?算法的一个一般性的定义是“一组有穷的规则,它给出了为解决一个特定问题集合的一个操作序列,[并]包含五个重要特征:有穷性...定义性...输入...输出...效率”。在C++标准库的环境里,一个算法就是一组在元素序列上操作的模版。

标准库提供了数十个算法,这些算法都定义在名字空间std里,在头文件 <algorithm> 里描述。下面是其中几个我觉得特别有用的东西:

标准库算法的选择 说明
for_each() 对每个元素调用函数(18.5.1节)
find() 找出参数的第一个出现(18.5.2节)
find_if() 找出第一个满足谓词的元素(18.5.2节)
count() 统计元素的出现次数(18.5.3节)
count_if() 统计与谓词匹配的元素(18.5.3节)
replace() 用新值取代元素(18.6.4节)
replace_if() 用新值取代满足谓词的元素(18.6.4)
copy() 复制元素(18.6.1节)
unique_copy() 复制元素,不重复(18.6.1节)
sort() 对元素排序(18.7.1节)
equal_range() 找到所有具有等价值的元素(18.7.2节)
merge() 归并排序的序列(18.7.3节)

这些算法以及其他许多算法(见第18章)都可以用于 容器string内部数组 的元素。

🔚