C++ Algorithm partition()2024年8月30日 | 阅读4分钟 C++ Algorithm partition() 函数用于根据其参数中提到的给定谓词(条件)对元素进行分区。如果容器被分区,则此函数返回 true,否则返回 false。 语法参数first:指向要分区的范围中第一个元素的双向迭代器。 last:指向要分区的范围中最后一个元素之后的双向迭代器。 pred:一个用户定义的一元谓词函数,它定义了如果一个元素要被分类则需要满足的条件。 返回值此函数返回一个迭代器,指向不满足谓词条件的范围的第一个元素。 复杂度复杂度在范围 [first, last) 内呈线性关系:对每个元素应用谓词,并可能交换其中一些元素。 数据竞争范围 [first, last) 中的对象被修改。 异常如果元素交换或迭代器操作抛出异常,此函数将抛出异常。 请注意,无效参数会导致未定义行为。 示例 1让我们看一个简单示例来演示 partition() 的用法 输出 odd elements: 1 9 3 7 5 even elements: 6 4 8 2 在上面的示例中,元素 1 到 9 被分区为偶数和奇数。 示例 2让我们看另一个简单示例 输出 Vector v1 is ( 4 10 7 8 0 5 2 1 6 9 3 ). The partitioned set of elements in v1 is: ( 9 10 7 8 6 5 2 1 0 4 3 ). 示例 3让我们看另一个简单示例,使用 partition() 函数对向量元素进行快速排序 输出 Original vector: 0 1 2 3 4 5 6 7 8 9 Partitioned vector: 0 8 2 6 4 * 5 3 7 1 9 Unsorted list: 1 30 -4 3 5 -4 1 6 -8 2 -5 64 1 92 Sorted using quicksort: -8 -5 -4 -4 1 1 1 2 3 5 6 30 64 92 示例 4让我们看另一个简单示例 输出 Before Partition: 1 2 3 4 5 After partition: 4 2 3 1 5 Is it partitioned? Yes, it is partitioned 下一主题C++ 算法 |
C++ 算法 fill() C++ Algorithm fill() 函数用于使用 operator= 将指定范围 [first, end) 中的所有元素赋值为相同的新值。注意:范围 [first, last) 表示 first 包含在范围内,但 last 不包含。语法模板 <class ForwardIterator, class T> void...
阅读 4 分钟
C++ 算法函数 copy_backward() C++ 算法 copy_backward() 函数用于反向复制元素,它接受三个参数,然后复制属于范围 [first,last] 的元素。元素的复制以反向开始,终止点在 'result'。语法模板 <class BidirectionalIterator1,...
阅读 2 分钟
C++ 算法 generate() C++ 算法 generate() 函数用于将函数对象生成的值赋给范围中的每个元素。生成器函数由用户定义,并连续调用以赋值数字。语法模板 <class ForwardIterator, class Generator> void...
阅读 4 分钟
C++ 算法函数 find_first_of() C++ 算法 find_first_of() 函数比较两个容器 [first1, last1) 和 [first2, last2) 中存储的值。如果在 [first1, last1) 中找到与 [first2, last2) 范围中元素相似的元素,则返回指向该元素的迭代器...
阅读 2 分钟
C++ 算法函数 copy_n() C++ 算法 copy_n() 函数指定要复制到新容器中的元素数量。该函数用于将容器 [first,last) 的 n 个元素复制到从 result 开始的不同容器中。语法模板<class InputIterator, class Size, class OutputIterator> OutputIterator copy_n(InputIterator first, Size...
阅读1分钟
C++ 算法 set_union() C++ 算法 set_union() 函数用于查找两个已排序范围 [first1, last1) 和 [first2, last2) 的并集,该并集由存在于其中一个集合或两个集合中的元素组成。元素使用运算符 < 进行比较...
阅读 6 分钟
C++ 算法 _permutation () C++ 算法 _permutation() 函数用于将范围 [first, last) 中的元素重新排列成字典序更大的排列。排列是指一组事物或数字可以被排序的几种可能方式中的每一种,或者...
阅读 6 分钟
C++ 算法函数 equal() C++ 算法 equal() 函数比较两个容器中的元素,如果两个容器中的所有元素都匹配,则返回 true。第一个范围是 [first1,last1),第二个范围从 first2 开始。语法 template<class InputIterator1, class...
阅读 2 分钟
C++ 算法函数 for_each() C++ 算法 for_each() 函数将函数 func 应用于从“first”到“last”范围内的所有元素。语法模板 <class InputIterator, class Function> Function for_each (InputIterator first, InputIterator last, Function func); 参数 first: 指定列表中的第一个元素。last: 指定...
阅读 4 分钟
C++ 算法函数 any_of() C++ 算法 any_of() 函数测试范围中每个元素的 'pred' 值,如果任何元素的 pred 值为 true,则函数返回 true,否则返回 false。语法模板 <class InputIteratir, class UnaryPredicate> bool any_of (InputIterator first, InputIterator last, UnaryPredicate...
阅读1分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India