C++ 算法 replace_if()2024年8月30日 | 阅读4分钟 C++ 算法 replace_if() 函数用于将新值分配给范围 [first, last) 中所有满足 pred 谓词的元素。 此函数检查范围中的每个元素,如果它满足指定的谓词,则将其替换。 语法参数first:指向要替换元素的范围起始位置的前向迭代器。 last:指向要替换元素的范围最终位置的前向迭代器。 pred:如果元素的值要被替换,必须满足的一元谓词函数。 new_value:分配给旧值满足谓词的元素的新值。 返回值无 复杂度复杂性与 first 和 last 之间的距离呈线性关系。对每个元素应用 pred,并分配给匹配的元素。 数据竞争范围 [first1, last1) 中的对象被访问并可能被修改。 异常安全如果 pred、元素赋值或迭代器上的任何操作抛出异常,此函数将抛出异常。 请注意,无效参数会导致未定义行为。 示例 1让我们看一个简单的示例来演示 replace_if() 的用法 输出 10,10,2,10,2, 上面的示例确定向量 v 中的奇数,并将所有找到的元素替换为 10。 示例 2让我们看另一个简单示例 输出 The original vector v1 is: ( 4 7 7 7 0 5 7 1 6 9 3 7 8 2 ). The vector v1 with a value 70 replacing those elements satisfying the greater6 predicate is: ( 4 70 70 70 0 5 70 1 6 70 3 70 70 2 ). 在上面的示例中,向量 v1 的值为 70,替换了那些满足大于 6 谓词的元素。 示例 3让我们看另一个简单示例 输出 Here are the values in the vector: 1 2 2 3 4 5 2 6 Now we replace all values divisible by 3 with 123. Here are the revised contents of the vector: 1 2 2 123 4 5 2 123 示例 4让我们看另一个简单示例 输出 myvector contains: 0 2 0 4 0 6 0 8 0 下一主题C++ 算法 |
C++ 算法 remove_if() C++ Algorithm remove_if() 函数用于从给定范围 [first, last) 中删除所有满足谓词的元素,而不会干扰其余元素的顺序。此函数不能更改容器的大小。它返回指向新结束位置的迭代器...
阅读 6 分钟
C++ 算法 is_partitioned() C++ 算法 is_partitioned() 用于测试范围 [first, last) 是否根据谓词进行了分区。换句话说,范围中所有满足谓词的元素都在序列的开头。如果范围为空...
阅读 4 分钟
C++ 算法 partial_sort_copy() C++ Algorithm partial_sort_copy() 函数与 partial_sort() 函数类似,它用于重新排列范围 [first, last) 中的元素,使得 first 和 middle 之间的元素被排序,而 middle 和 last 之间的元素被...
阅读 8 分钟
C++ 算法 swap() 函数 C++ 算法 swap() 函数交换或说互换两个引用容器的值。语法 template<class T> void swap(T& a, T& b); 参数 a: 它是具有某些值的第一个容器。b: 它是具有某些值的另一个容器。返回值 此函数仅交换值...
阅读 2 分钟
C++ 算法函数 any_of() C++ 算法 any_of() 函数测试范围中每个元素的 'pred' 值,如果任何元素的 pred 值为 true,则函数返回 true,否则返回 false。语法模板 <class InputIteratir, class UnaryPredicate> bool any_of (InputIterator first, InputIterator last, UnaryPredicate...
阅读1分钟
C++ 算法函数 find() C++ 算法 find() 函数指定参数列表中的一个值,在范围内搜索该值,迭代器从第一个元素开始搜索并一直到最后一个元素,如果找到该元素...
阅读 2 分钟
C++ 算法函数 move backward () 该函数用于向后移动元素,它接受三个参数,然后移动属于范围 [first,last) 的元素。元素的移动以相反的顺序开始,终止点在“result”处。语法模板<class BidirectionalIterator1,...
阅读 2 分钟
C++ 算法 is_sorted_until() C++ 算法 is_sorted_until() 函数用于查找范围内的第一个未排序元素。这意味着它返回一个迭代器,指向范围 [first, last) 中不遵循升序的第一个元素。元素使用运算符 < 进行比较...
阅读 4 分钟
C++ 算法 replace_copy_if() C++ 算法 replace_copy_if() 函数用于将范围 [first, last) 复制到从 result 开始的范围,将那些 pred 返回 true 的元素替换为 new_value。它使用谓词 pred 而不是运算符== 比较元素。此函数检查每个...
阅读 8 分钟
C++ 算法 unique() C++ Algorithm unique() 函数用于转换序列,使得每个连续的重复元素都成为唯一的元素。第一个版本使用 operator== 比较元素,第二个版本使用给定的二元谓词 pred。语法相等性 (1) 模板 <class...
7 分钟阅读
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India