C++ 算法 partition_point()

30 Aug 2024 | 3 分钟阅读

C++ 算法 partition_point() 函数用于返回给定范围内第一个不满足 pred 条件的元素。这些元素以满足条件的元素排在不满足条件的元素之前的顺序进行排序。

语法

参数

first:指向要检查条件的范围中第一个元素的前向迭代器。

last:指向范围中最后一个元素之后的前向迭代器。

pred:用户定义的一元谓词函数,用于定义要测试的条件。

返回值

此函数返回一个前向迭代器,指向不满足 pred 测试条件的第一个元素,如果找不到则返回 last。

复杂度

复杂度为范围 [first, last) 的对数级别。

数据竞争

访问范围 [first, last) 中的某些对象。

异常

如果元素的比较或迭代器上的操作抛出异常,此函数会抛出异常。

注意:无效参数会导致未定义行为。

示例 1

让我们看一个简单的示例来演示 partition_point() 的用法

输出

Before partition:
    8 2 6 4 
After partition:
    5 3 7 1 9

示例 2

让我们看另一个简单示例

输出

odd: 1 9 3 7 5

示例 3

让我们看另一个简单示例

输出

The partitioned vector is : 2 6 8 1 5 7 
The vector elements returning true for condition are : 2 6 8 

示例 4

让我们看另一个简单示例

输出

Negative:  -1 -4 -2 -5 -3
Positive:  1 3 5 2 4

下一主题C++ 算法