第31回


下图中的普通迭代器 ivec.begin() 和 逆向迭代器 ivec.rend()是对应的

第32回

adjacent_find() 查找连续2个符合谓词规则的数据
下图中的所有算法对任何容器都适用,第一个红框中的是精确查找算法,第二个红框是查找连续匹配的一段数据,第三个红框是查找出现的第一个数据,第4个红框是查找连续2个符合谓词规则的数据

第33回

第34回

上图中的查找算法都是已序区间的查找算法
第35回

for_each() 有返回值,返回值就是for_each()中的函数对象,如下图所示

第36回

第37回
第38回

第39回

第40回

第41回

fill()算法只能填充固定值(常量值)
generate()算法可以填充函数或函数对象
第42回

第43回

也就是说删除算法运行后,容器中的数据元素的个数并没有减少
而成员函数erase()才是真正的删除
第44回

第45回

unique()删除算法是删除连续重复的元素,只留下唯一一个元素
第46回

第47回

第48回

第49回

注意:sort算法不能用于list链表,因为sort算法需要使用随机存取迭代器
第50回

第51回

第52回

本文深入探讨了C++标准模板库(STL)中的关键算法,包括查找、迭代、删除及排序算法的应用与特性。详细解析了如adjacent_find()、for_each()、fill()、generate()、erase()、unique()和sort()等算法的功能与使用场景,强调了不同算法对容器的要求及其在实际编程中的应用技巧。

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



