标准库算法
什么是一个算法?算法的一个一般性的定义是“一组有穷的规则,它给出了为解决一个特定问题集合的一个操作序列,[并]包含五个重要特征:有穷性...定义性...输入...输出...效率”。在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
和 内部数组
的元素。
🔚