binary_search
is a version of binary search: it attempts to find the element value in an ordered range [first, last)
. It returns true
if an element that is equivalent to value
is present in [first, last)
and false
if no such element exists. Specifically, this version returns true
if and only if there exists an iterator i
in [first, last)
such that *i < value
and value < *i
are both false
.
The algorithm's execution is parallelized as determined by exec
.
- Parameters
-
exec | The execution policy to use for parallelization. |
first | The beginning of the ordered sequence. |
last | The end of the ordered sequence. |
value | The value to be searched. |
- Returns
true
if an equivalent element exists in [first, last)
, otherwise false
.
- Template Parameters
-
The following code snippet demonstrates how to use binary_search
to search for values in a ordered range using the thrust::device
execution policy for parallelization:
...
thrust::device_vector<int> input(5);
input[0] = 0;
input[1] = 2;
input[2] = 5;
input[3] = 7;
input[4] = 8;
- See also
- https://en.cppreference.com/w/cpp/algorithm/binary_search
-
lower_bound
-
upper_bound
-
equal_range