C++ 算法 replace_copy()2024年8月30日 | 阅读4分钟 C++ 算法 replace_copy() 函数用于复制范围 [first, last) 并将所有 old_value 替换为 new_value。它使用 operator= 进行复制,并使用 operator== 比较元素。 此函数检查源范围中的每个元素,如果它与指定值匹配,则替换它,同时将结果复制到新的目标范围。 语法参数first:一个输入迭代器,指向要替换元素的范围的起始位置。 last:一个输入迭代器,指向要替换元素的范围的最终位置。 result:一个输出迭代器,指向存储结果序列的范围的第一个元素。 old_value:被替换元素的旧值。 new_value:赋给具有旧值的元素的新值。 返回值replace_copy() 函数返回一个输出迭代器,指向结果序列中写入的最后一个元素的位置。 复杂度复杂性与 first 和 last 之间的距离呈线性关系,并对每个元素执行一次比较和一次赋值。 数据竞争访问范围 [first1, last1) 中的对象。 修改 result 和返回值之间的范围中的对象。 异常安全如果任何元素比较、元素赋值或迭代器操作抛出异常,此函数将抛出异常。 请注意,无效参数会导致未定义行为。 示例 1让我们看一个简单的例子来演示 replace_copy() 的用法 输出 3,10,2,10,2, 示例 2让我们看另一个简单示例 输出 myvector contains: 10 99 30 15 99 10 10 99 示例 3让我们看另一个简单示例 输出 The original vector v1 is: ( 4 7 7 7 0 5 7 1 6 9 3 7 8 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ). The vector v1 with a value 70 replacing that of 7 is: ( 4 7 7 7 0 5 7 1 6 9 3 7 8 2 1 4 70 70 70 0 5 70 1 6 9 3 70 8 2 1 ). The list copy L1 of v1 with the value 0 replacing that of 7 is: ( 4 1 1 1 0 5 1 1 6 9 3 1 8 2 0 ). 示例 4让我们看另一个简单示例 输出 Before replace_copy : A B C D E F G After replace_copy : Z B C D E F G 在上面的示例中,replace_copy() 函数用于将 v.begin() 处的“A”替换为“Z”并将其复制到 v.begin() 位置。 下一主题C++ 算法 |
C++ 算法 replace() C++ 算法 replace() 函数用于在范围 [first, last) 中将所有等于 old_value 的值替换为 new_value。此函数检查范围中的每个元素,如果它与指定值匹配,则替换它。语法模板 <class ForwardIterator, class T> void...
阅读 4 分钟
C++ 算法函数 move() C++ 算法 move() 函数用于移动元素。它接受三个参数,然后将属于范围 [first,last) 的元素移动到以“result”开头的范围中。语法模板<class InputIterator, class OutputIterator> OutputIterator move(InputIterator first, InputIterator last, OutputIterator result); 参数 first: 它是...
阅读 2 分钟
C++ 算法函数 copy_if() C++ 算法 copy_if() 函数用于将容器 [first,last] 的元素复制到从 result 开始的不同容器中,其中 pred 的值为 true。语法模板<class InputIterator, class OutputIterator, class UnaryPredicate> OutputIterator copy_if(InputIterator first, InputIterator last, OutputIterator result,UnaryPredicate pred); 参数 first: 它是...
阅读1分钟
C++ 算法 random_shuffle() C++ Algorithm random_shuffle() 通过将范围的元素随机放置来重新排序。第一个版本使用内部随机数生成器,第二个版本使用随机数生成器,这是一种特殊类型的函数对象,显式地...
阅读 4 分钟
C++ 算法函数 mismatch() C++ 算法 mismatch() 函数比较两个容器以发现任何值不匹配。该函数返回两个容器中不匹配的第一个元素。语法模板<class InputIterator1, classInputIterator2> pair<InputIterator1, InputIterator2> mismatch(InputIterator1 first1, InputIterator2 first2> template<class InputIterator1, class InputIterator2, class BinaryPredicate> pair<InputIterator1,InputIterator2> mismatch(InputIterator1 first1,...
阅读 3 分钟
C++ 算法 partial_sort_copy() C++ Algorithm partial_sort_copy() 函数与 partial_sort() 函数类似,它用于重新排列范围 [first, last) 中的元素,使得 first 和 middle 之间的元素被排序,而 middle 和 last 之间的元素被...
阅读 8 分钟
C++ 算法 includes() C++ 算法 includes() 函数如果排序范围 [first2, last2) 中的每个元素都在排序范围 [first1, last1) 中找到,则返回 true。如果 [first2, last2) 为空,它也返回 true。元素使用第一个版本中的运算符 < 或使用给定...
5 分钟阅读
C++ 算法 partition_point() C++ 算法 partition_point() 函数用于返回给定范围中 pred 不为 true 的第一个元素。元素按满足条件的元素排在不满足条件的元素之前的方式排序。语法模板 <class...
5 分钟阅读
C++ 算法 swap() 函数 C++ 算法 swap() 函数交换或说互换两个引用容器的值。语法 template<class T> void swap(T& a, T& b); 参数 a: 它是具有某些值的第一个容器。b: 它是具有某些值的另一个容器。返回值 此函数仅交换值...
阅读 2 分钟
C++ 算法 is_sorted_until() C++ 算法 is_sorted_until() 函数用于查找范围内的第一个未排序元素。这意味着它返回一个迭代器,指向范围 [first, last) 中不遵循升序的第一个元素。元素使用运算符 < 进行比较...
阅读 4 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India