C++ 算法 remove_copy()30 Aug 2024 | 3 分钟阅读 C++ 算法 remove_copy() 函数用于将范围 [first, last) 中不等于 val 的所有元素复制到提供的结果中,而不改变其余元素的顺序。 此函数无法更改容器的大小。
语法参数first:一个前向迭代器,指向要从中移除元素的范围中第一个元素的位置。 last:一个前向迭代器,指向要从中移除元素的范围中最后一个元素之后的位置。 result:指向正在删除元素的范围初始位置的输出迭代器。 val:要从范围 [first, last) 中删除的值。 返回值一个前向迭代器,指向复制范围的新结束位置 (last),该范围包含 [first, last) 中的所有元素,除了那些与 val 比较相等的元素。 复杂度复杂度与范围 [first, last) 成线性关系:比较每个元素,并对未删除的元素执行赋值操作。 数据竞争访问范围 [first, last) 中的对象。 result 和返回值之间的范围中的对象会发生变化。 异常安全如果任何元素比较、元素赋值或迭代器操作抛出异常,此函数将抛出异常。 注意:无效参数可能会导致未定义的行为。示例 1让我们看一个简单的示例来演示 remove_copy() 的用法 输出 2,3,2, 示例 2让我们看另一个简单示例 输出 myvector contains: 10 50 30 10 40 0 0 0 示例 3让我们看另一个简单的示例来删除给定文本中的所有空格 输出 before: Text with some spaces after: Textwithsomespaces 示例 4让我们看另一个简单示例 输出 The original vector v1 is: ( 4 7 7 7 0 5 7 1 6 9 3 7 8 2 ). Vector v1 is left unchanged as ( 4 7 7 7 0 5 7 1 6 9 3 7 8 2 ). Vector v2 is a copy of v1 with the value 7 removed: ( 4 0 5 1 6 9 3 8 2 0 ). 下一主题C++ 算法 |
C++ 算法 sort() C++ 算法 sort() 函数用于将范围 [first, last) 中的元素按升序排序。第一个版本使用 operator < 比较元素,第二个版本使用 comp 比较元素。语法 默认 (1) template <class RandomAccessIterator> void sort (RandomAccessIterator first, RandomAccessIterator last); 自定义...
5 分钟阅读
C++ 算法 remove_if() C++ Algorithm remove_if() 函数用于从给定范围 [first, last) 中删除所有满足谓词的元素,而不会干扰其余元素的顺序。此函数不能更改容器的大小。它返回指向新结束位置的迭代器...
阅读 6 分钟
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++ 算法 inplace_merge() C++ 算法 inplace_merge() 函数用于将两个连续的已排序范围 [first, middle) 和 [middle, last) 合并为一个已排序范围 [first, last)。第一个版本使用 operator < 比较元素,第二个版本使用给定的二元比较函数 comp 比较元素。语法 默认...
5 分钟阅读
C++ 算法函数 equal() C++ 算法 equal() 函数比较两个容器中的元素,如果两个容器中的所有元素都匹配,则返回 true。第一个范围是 [first1,last1),第二个范围从 first2 开始。语法 template<class InputIterator1, class...
阅读 2 分钟
C++ 算法函数 adjacent_find() C++ Algorithm adjacent_find() 函数在范围 [first, last] 上执行搜索操作,以查找两个连续匹配元素的首次出现。如果找到这样的元素,则返回指向这两个元素中第一个元素的迭代器。否则,返回最后一个...
阅读1分钟
C++ 算法 reverse() C++ 算法 reverse() 函数用于反转范围 [first, last) 内元素的顺序。语法模板 <class BidirectionalIterator> void reverse (BidirectionalIterator first, BidirectionalIterator last); 注意:BidirectionalIterator 是一种迭代器,用于以正向和...
阅读 4 分钟
C++ 算法 equal_range() C++ 算法 equal_range() 函数是二分搜索的一个版本。此函数用于返回子范围的下限和上限,该子范围包含范围 [first, last) 中所有与 val 等效的元素。其中子范围定义为...
7 分钟阅读
C++ 算法 unique_copy() C++ 算法 unique_copy() 函数用于复制序列,使得每个连续的重复元素都成为唯一元素。它不会改变原始范围,并将结果复制到另一个容器中。第一个版本使用 operator== 比较元素,第二个版本...
阅读 6 分钟
C++ 算法函数 search_n() C++ Algorithm search_n() 函数在容器 [first,last) 中搜索 count 个连续元素的出现,即搜索每个元素是否满足给定的 pred。返回满足条件的第一个元素的迭代器,否则...
阅读 2 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India