Javatpoint Logo
Javatpoint Logo

Std partition point in c++

partition point() acquires the partition point: Returns an iterator to the first partitioned element in the range [first, last] for which pred(predicate) is false, indicating the partition point of that element.

As if partition had been called with the identical inputs, the range's elements must already be partitioned.

The function compares non-consecutive elements of the sorted range, which is especially effective for random-access iterators, to reduce the amount of comparisons made.

Returning the first element in the supplied range for which pred is false requires the usage of the C++ algorithm partition point() function. The elements are arranged so that those that satisfy the criterion are placed before those that do not.

Syntax

First and last parameters are forward iterators that go to the beginning and end of the partitioned sequence, respectively. The range that has been tested is [first, last], which includes all of the elements between first and last but excludes the element pointed to by last.

A unary function that takes a range element as argument and returns a value that can be converted to a bool. The result shows if the element before the partition point (if true, it goes before; if false goes at or after it). Its parameter may not be modified by the function. This could be a function object or a function pointer.

Return Value: An iterator to the last element in the partitioned range [first, last] if pred is false for any element, or to the last element if pred is false for any element.

This function template's definition is equivalent to:

Example

Output:

odd:  1 3 5 7 9
even: 2 4 6 8 10

Example

Output:

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

About log2(N)+2 element comparisons are performed (where N is this distance). The iterator advancements provide an additional linear complexity in N on non-random access iterators, on average.

Example

Output:

odd: 1 3 5 7 9
even: 2 4 6 8 10






Youtube For Videos Join Our Youtube Channel: Join Now

Feedback


Help Others, Please Share

facebook twitter pinterest

Learn Latest Tutorials


Preparation


Trending Technologies


B.Tech / MCA