目录
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(求并集)
注意:需要先开辟两个容器空间大小相加的空间,而且函数返回的是目标容器最后一个元素的迭代器地址。