函数对象(仿函数):
重载函数调用操作符
本质是一个类
仿函数可以作为参数传递
谓词
返回值为bool类型的仿函数称为谓词
一元谓词和二元谓词,一元还是二元看的是参数的数量
常用算法
for_each(v.begin(),v.end(),func)最后一位传入函数或仿函数
transform(v.begin(),v.end(),v2.begin(),func);
使用transform前还需要重置容器大小resize(v.size())
搬运时可在func中对搬运的数据进行简单运算
find(v.begin(),v.end(),object)
目标如果是自定义类型,需要重载==
find(v.begin(),v.end(),pred)
目标传入的是谓词
adjacent_find(v.begin(),v.end());
查找相邻相同的元素
binar_search
二分查找,返回值为布尔类型,且查找数组必须为有序序列
count()、count_if()查找个数
内建函数对象greater<int>()大于
random_shuffle随机打乱
srand((unsigned int)time(NULL))
merge合并算法,合并后依然是有序序列,合并前也必须是有序的
reverse、copy、replace、replac_if反转、拷贝算法
accumulate求和算法
fill填充算法
set_intersection取交集,两个原集合必须有序
set_difference取差集,有两种
set_union取并集
标签:begin,end,函数,算法,查找,谓词 From: https://www.cnblogs.com/gaishuobulao/p/17321724.html