泛型算法
泛型算法头文件
- #include< algorithm >
- #include < numeric > (泛型算术算法)
泛型算法简述
泛型算法最典型地特点就是可以作用于多种容器类型上,其与容器类型无关,算法和容器通过迭代器捆绑在一起
大部分的算法都是在一段范围内的元素上操作,这段范围称为“输入范围”,带有输入范围的算法都是用头两个形参标记范围,这两个形参分别指向要处理的第一个元素和最后一个元素的下一位置的迭代器
三种常见的算法类型
只读算法
只读算法特性
只读算法只会读取其输入范围内的元素,而不会写这些元素
典型的只读算法
- find
- accumulate
- find_first_of
写容器算法
写容器算法三种常见方式
- 直接将数据写入输入序列
- 写到迭代器参数指定的写入目标
- 将指定书目的元素写入某个序列
写入算法写元素的时候,要保证确保算法所写的序列至少足以存储要写入的元素
典型的写容器算法
- fill
- fill_n
- copy
- replace
- replace_copy
对容器元素重新排序的算法
典型的重新排序算法
- sort
- stable_sort