目录
3.4 binary_search(二分查找有序序列中元素是否存在)
1.分类和介绍

2.遍历算法
2.1 for_each算法(遍历执行)


2.2 transform算法(搬运)




3.查找算法
3.1 find算法(具体查找)

需要注意的是,容器中存放的是自定义数据类型时,进行find操作需要重载自定义类的==赋值运算符,这样find才知道怎么对比自定义数据类型。

3.2 find_if算法(条件查找)


![]()
3.3 adjacent_find(查找相邻重复元素)

3.4 binary_search(二分查找有序序列中元素是否存在)

3.5 count(统计元素出现次数)

注意:如果容器中包含的是自定义数据类型,需要在自定义类中重载==赋值运算符。
3.6 count_if(按条件统计元素出现次数)

自定义数据类型需要写好bool类型谓词,统计哪一个属性,条件是什么。
4.排序算法
4.1 sort(排序)


4.2 random_shuffle(洗牌)

4.3 merge(合并))


注意:合并默认两个都是升序 ,结果也是升序。如果需要降序合并,需要加上谓词greater<>()
4.4 reverse(反转)

5.拷贝和替换算法
5.1 copy(拷贝)

实际上直接用=赋值也可以拷贝
5.2 replace(替换)

注意:区间内的所有旧元素都会被替换。如果要实现自定义类型数据替换,需要类内重载==赋值运算符。
5.3 replace_if(按照条件替换)

替换迭代器区间内所有满足谓词条件的元素。
5.4 swap(互换)

注意:要包含相同类型元素的容器才能互换,容量大小无所谓。
6.算术生成算法

6.1 accumulate(累加)

起始值一般为0,即sum从0开始累加。
6.2 fill(填充)

7.集合算法
7.1 set_intersection(求交集)


注意:需要先开辟两个容器中较小的空间大小,而且函数返回的是目标容器最后一个元素的迭代器地址。
7.2 set_union(求并集)


注意:需要先开辟两个容器空间大小相加的空间,而且函数返回的是目标容器最后一个元素的迭代器地址。
7.3 set_difference(求差集)




2万+

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



