C++ Algorithm unique()2024年8月30日 | 5分钟阅读 C++ Algorithm unique() 函数用于转换序列,使得每个连续的重复元素都成为唯一的元素。 第一个版本使用 operator== 来比较元素,第二个版本使用给定的二元谓词 pred。 语法参数first:指向要扫描以删除重复项的范围内第一个元素位置的前向迭代器。 last:指向要扫描以删除重复项的范围内最后一个元素之后位置的前向迭代器。 pred:用户定义的谓词函数对象,定义了如果范围内两个元素被视为等效时应满足的条件。二元谓词接受两个参数,并在满足条件时返回 true,不满足时返回 false。0 返回值一个前向迭代器,指向范围 [first, last) 的新末尾,该范围不包含连续的重复项。 复杂度复杂度在范围 [first, last) 内呈线性关系:比较每对连续的元素,并对其中一些元素执行赋值操作。 数据竞争范围 [first, last) 中的对象被访问并可能被修改。 异常安全如果 pred、元素比较、元素赋值或迭代器上的操作中的任何一个抛出异常,此函数将抛出异常。 注意:无效参数会导致未定义行为。示例 1让我们看一个简单的例子来演示 unique() 的用法 输出 1 2 3 4 5 6 7 示例 2让我们看另一个简单示例 输出 myvector contains: 10 20 30 20 10 示例 3让我们看另一个简单示例 输出 unsorted unique : 2,5,3,1,2,4,2,1,4,3 sorted unique : 1,2,3,4,5 示例 4让我们看另一个简单示例 输出 1 2 3 4 5 6 7 wanna go to space? 示例 5让我们看另一个例子 输出 Vector v1 is ( 5 -5 5 -5 5 -5 5 -5 4 4 4 4 7 ). Removing adjacent duplicates from vector v1 gives ( 5 -5 5 -5 5 -5 5 -5 4 7 ). Removing adjacent duplicates from vector v1 under the binary predicate mod_equal gives ( 5 4 7 ). Removing adjacent elements satisfying the binary predicate mod_equal from vector v1 gives ( 5 7 ). 下一主题C++ 算法 |
C++ 算法 swap() 函数 C++ 算法 swap() 函数交换或说互换两个引用容器的值。语法 template<class T> void swap(T& a, T& b); 参数 a: 它是具有某些值的第一个容器。b: 它是具有某些值的另一个容器。返回值 此函数仅交换值...
阅读 2 分钟
C++ 算法 equal_range() C++ 算法 equal_range() 函数是二分搜索的一个版本。此函数用于返回子范围的下限和上限,该子范围包含范围 [first, last) 中所有与 val 等效的元素。其中子范围定义为...
7 分钟阅读
C++ 算法函数 count() C++ 算法 count() 函数接受 'val' 作为参数,并比较元素 'val' 在范围内的出现次数。返回该元素的出现次数。语法模板 <class InputIterator, class T> typename iterator_traits<InputIterator>::difference_type count (InputIterator first, InputIterator last, const T& val); 参数 first: 它是一个...
阅读1分钟
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++ 算法 generate() C++ 算法 generate() 函数用于将函数对象生成的值赋给范围中的每个元素。生成器函数由用户定义,并连续调用以赋值数字。语法模板 <class ForwardIterator, class Generator> void...
阅读 4 分钟
C++ 算法 reverse() C++ 算法 reverse() 函数用于反转范围 [first, last) 内元素的顺序。语法模板 <class BidirectionalIterator> void reverse (BidirectionalIterator first, BidirectionalIterator last); 注意:BidirectionalIterator 是一种迭代器,用于以正向和...
阅读 4 分钟
C++ 算法函数 move() C++ 算法 move() 函数用于移动元素。它接受三个参数,然后将属于范围 [first,last) 的元素移动到以“result”开头的范围中。语法模板<class InputIterator, class OutputIterator> OutputIterator move(InputIterator first, InputIterator last, OutputIterator result); 参数 first: 它是...
阅读 2 分钟
C++ 算法函数 find() C++ 算法 find() 函数指定参数列表中的一个值,在范围内搜索该值,迭代器从第一个元素开始搜索并一直到最后一个元素,如果找到该元素...
阅读 2 分钟
C++ 算法 remove() C++ 算法 remove() 函数用于从给定范围 [first, last) 中删除所有等于 val 的元素,而不扰乱其余元素的顺序。此函数不能改变容器的大小。它返回一个迭代器,指向...
5 分钟阅读
C++ 算法 generate_n() C++ 算法 generate_n() 函数用于将由函数对象生成的值分配给范围内指定数量的元素,并返回到最后一个分配值位置之后的一个位置。生成器函数由...
阅读 3 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India