为了处理容器内的元素,STL提供了一些标准算法,包括查找、排序、拷贝、重新排序、修改、数值运算等基本而普遍的算法。算法并非容器内的成员函数,而是一种搭配迭代器使用的全局函数。这么做有一个重要的优势,所有算法只需要实现一份,就可以对所有容器运作,不必为每一种容器量身定做。
1、非更易型算法
非更易型算法既不改动元素的次序,也不改动元素值。
| for_each() | 对每个元素执行某操作 |
| count() | 返回元素的个数 |
| count_if() | 返回满足某一准则(条件)的元素个数 |
| min_element() | 返回最小元素值 |
| max_element() | 返回最大元素值 |
| minmax_element() | 返回最小值和最大值元素 |
| find() | 查找“与被传入值相等”的第一个元素 |
| find_if() | 查找“满足某个准则”的第一个元素 |
| find_if_not() | 查找“不满足某个准则”的第一个元素 |
| search_n() | 查找“具备某特性”之前的n个连续元素 |
| search() | 查找某个子区间第一次出现位置 |
| find_end() | 查找某个子区间最后一次出现位置 |
| find_first_of() | 查找“数个可能元素的第一个出现者” |
| adjacent_find() | 查找连续两个相等的元素 |
| equal() |
判断两区间是否相等 |
| is_sorted() | 返回“是否区间内的元素已排序” |
| is_heap() | 返回“是否区间内的元素形成一个heap” |
| all_of() | 返回“是否所有元素都吻合某个规则” |
| any_of() | 返回“是否至少一个元素吻合某个规则”< |

最低0.47元/天 解锁文章
217

被折叠的 条评论
为什么被折叠?



