前言 本文介绍了C++中STL常用遍历和查找算法。 9.1:常用遍历算法(for_each、transform) 9.1.1:foreach for_each:遍历容器,transform:搬运一个容器中的数据到另一个容器中 for_each中使用普通函数只用传函数名,如果用自定义的仿函数那就要传一个匿名的函数对象 for_each函数原型 9.1.2:transform transform中比较需要注意的是第4个参数,目标容器要提前指定好空间要不然会塞不进去 transfrom的函数原型 对匿名对象的一些疑问,在main函数中调用MyFunc()会创建一个对象,会调用类的无参构造函数和析构函数 9.2:常见查找算法(find、find_if、adjacent_find、binary_search、count、count_if) 9.2.1:find find:查找指定元素,找到则返回指定元素的迭代器,找不到返回结束迭代器end() 查找系统自带的数据类型 查找自定义数据类型 9.2.2:find_if 函数原型 使用find_if的时候要对()运算符进行重载,且返回值要是bool类型的,return 的条件在operator()中实现。与find不同的是,find要对==运算符进行重载,而find_if需要的是谓词 find_if查找系统在带数据类型 find_if查找自定义数据 9.2.3:adjacent_find 用于查找相邻重复的元素 9.2.4:binary_search 二分法查找要先让数据有序,可以配合sort函数一起使用,无序序列不可以使用。 9.2.5:count 返回值是出现的数据次数 统计系统自定义数据类型 统计自定义数据类型,也是差不多的操作,重写==运算符 9.2.6:count_if 用法和find_if是一样的 总结 以上是本文的全部内容,非常感谢你能看到这。