💻算法(Algorithm)
对于STL中各种类型的算法的详细介绍
算法概述
算法主要由头文件<algorithm><functional><numeric>组成
<algorithm>是所有STL头文件中最大的一个,其中常用的功能涉及到比较、交换、查找、遍历、复制、修改、反转、排序、合并等<numeric>体积很小,只包括在几个序列容器上进行简单运算的模版函数<functional>定义了一些模版类,用以声明函数对象
自定义的类如果想要直接使用算法库,则需补全默认构造函数、拷贝构造函数、析构函数、赋值操作符、小于操作符、等于操作符。
常用遍历算法
for_each
transform
注意:目标容器一定要提前分配好内存。
常用查找算法
find
find_if
利用find_if实现自定义类的find操作的时候,之前的函数适配器可能会派上用场。
adjacent_find
binary_search
count
count_if
常用排序算法
merge
sort
random_shuffle
如果想要每次打乱不同,需要自己设置随机数种子:
reverse
常用拷贝和替换算法
copy
使用copy算法快速打印容器:
其实第一种方法已经够用了,不过为了提升一下逼格,不妨也了解一下第二种。
replace
replace_if
swap
常用算数生成算法
accumulate
fill
常用集合算法
set_intersection
set_union
set_difference
结合概述一章中的关于算法,以及本章中对于各种具体算法接口的介绍,相信读者已经对C++STL中的算法有了十分清晰而又详尽的理解。恭喜,小可爱又变强了😄。
最后更新于
这有帮助吗?