您的位置:首页 > 编程语言 > C语言/C++

c++ STL Algorithm简单总结备忘

2017-01-14 20:53 218 查看

前言

有感于对stl中algorithm类别的不甚了解,于是最近几天利用白天或者晚上零碎的时间对stl中的algorithm的东西进行了简单的浏览,测试和归纳。

算法分类

非修改算法

序列满足某一条件

all_of
返回bool类型,是否全部满足某一条件

any_of
是否有某一个满足某一条件

none_of
是否任何一个都不满足某一条件

遍历

for_each
对序列中的元素进行某一个操作

例如我喜欢用的输出方法:
for_each(v1.begin(), v1.end(), [](int x){cout << x << " "; }); cout << endl;


查找

find
查找某一个元素

find_if
查找满足某一个条件第一个元素位置

find_if_not
查找不满足条件的第一个元素位置

奇葩的几个

find_end
查找一个序列(参数2)在另一个序列(参数1)中最后出现的位置

find_first_of
查找在一个序列(参数2)某一个元素在另一个序列(参数1)中第一次出现的位置

adjacent_find
查找在一个序列中连续两个元素第一次满足某一个条件的位置

统计

count
统计元素个数

count_if
统计满足条件的元素个数

比较

mismatch
两个序列第一个不匹配的位置

equal
两个序列是否完全一样

序列查找

search
查找一个序列在另一个序列第一次出现的位置(与
find_end
对应,也是奇葩)

search_n
查找一个n个val的序列在另一个序列第一次出现的位置

修改序列类

分区partition

排序

二分查找

集合类操作

最大最小元素

排列

内容有空的话,会不断追加

参考文献

c++程序设计语言之标准库

http://www.cplusplus.com/reference/algorithm/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: