C++ 算法 stable_partition()2024年8月30日 | 阅读4分钟 C++ 算法 stable_partition() 函数用于对范围 [first, last) 中的元素进行分类,使得所有使 pred 返回 true 的元素都排在所有使其返回 false 的元素之前,同时保留元素的相对顺序。 注意:- 此函数通常使用内部临时缓冲区实现。语法参数first:一个双向迭代器,指向要分区的范围中的第一个元素。 last:一个双向迭代器,指向要分区的范围中最后一个元素的后一个位置。 pred:一个用户定义的一元谓词函数,用于定义元素要分类时必须满足的条件。 返回值此函数返回一个迭代器,指向不满足谓词条件的范围中的第一个元素。 复杂度如果内存充足,则复杂性与范围 [first, last) 成线性关系:将谓词应用于每个元素。 数据竞争范围 [first, last) 中的对象被修改。 异常如果任何元素的比较、元素交换或迭代器操作引发异常,则此函数会引发异常。 请注意,无效参数会导致未定义行为。 示例 1让我们看一个简单的例子来演示 stable_partition() 的用法 输出 odd elements: 1 3 5 7 9 even elements: 2 4 6 8 在上面的例子中,1 到 9 的元素被分成偶数和奇数元素。 示例 2让我们看另一个简单示例 输出 Vector v1 is ( 4 10 5 5 5 5 5 1 6 9 3 7 8 2 0 5 ). The partitioned set of elements in v1 is: ( 10 6 9 7 8 4 5 5 5 5 5 1 3 2 0 5 ). The first element in v1 to fail to satisfy the predicate greater5 is: 4. 示例 3让我们看另一个简单的例子,使用 partition() 函数对向量元素进行快速排序 输出 3 2 4 5 7 0 0 0 0 示例 4让我们看另一个简单示例 输出 0 3 6 12 9 1 4 5 7 下一主题C++ 算法 |
C++ 算法 replace_copy() C++ 算法 replace_copy() 函数用于复制范围 [first, last),并将所有 old_value 替换为 new_value。它使用运算符= 进行复制,并使用运算符== 比较元素。此函数检查每个元素...
5 分钟阅读
C++ 算法 partition() C++ 算法 partition() 函数用于根据其参数中提到的给定谓词(条件)对元素进行分区。如果容器被分区,则此函数返回 true,否则返回 false。语法模板 <class BidirectionalIterator, class UnaryPredicate> BidirectionalIterator partition (BidirectionalIterator first, BidirectionalIterator last, UnaryPredicate...
5 分钟阅读
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++ 算法 upper_bound() C++ 算法 upper_bound() 函数是二分查找的一种版本。此函数用于返回一个迭代器,指向范围 [first, last) 中第一个大于指定值 val 的元素。第一个版本使用运算符 < 进行比较...
5 分钟阅读
C++ 算法 lower_bound() C++ 算法 lower_bound() 函数是二分搜索的一个版本。此函数用于返回一个迭代器,指向有序范围 [first, last) 中第一个不小于(即大于或等于)指定值的元素...
阅读 4 分钟
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++ 算法 rotate() C++ 算法 rotate() 函数用于旋转范围 [first, last) 中元素的顺序。序列将从源序列中间的元素开始,最后一个元素将紧跟第一个元素。中间到元素之间...
7 分钟阅读
C++ 算法 is_sorted() C++ 算法 is_sorted() 函数返回 true,如果范围 [first, last) 中的元素按升序排序。第一个版本使用运算符 < 比较元素,第二个版本使用 comp 比较元素。语法默认 (1) 模板 <class ForwardIterator> ...
阅读 4 分钟
C++ 算法 swap_ranges() C++ 算法 swap_ranges() 用从 first2 开始的范围内的元素交换范围 [first1, last2) 内的元素。简而言之,我们可以说 swap_ranges() 交换两个序列的元素,即第一个序列中每个位置的元素...
5 分钟阅读
C++ 算法 remove() C++ 算法 remove() 函数用于从给定范围 [first, last) 中删除所有等于 val 的元素,而不扰乱其余元素的顺序。此函数不能改变容器的大小。它返回一个迭代器,指向...
5 分钟阅读
我们请求您订阅我们的新闻通讯以获取最新更新。

我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India