thrust::is_sorted
Defined in thrust/sort.h
-
template<typename ForwardIterator, typename Compare>
bool thrust::is_sorted(ForwardIterator first, ForwardIterator last, Compare comp) is_sorted
returnstrue
if the range[first, last)
is sorted in ascending order accoring to a user-defined comparison operation, andfalse
otherwise.Specifically, this version of
is_sorted
returnsfalse
if for some iteratori
in the range[first, last - 1)
the expressioncomp(*(i + 1), *i)
istrue
.The following code snippet demonstrates how to use
is_sorted
to test whether the contents of adevice_vector
are stored in descending order.#include <thrust/sort.h> #include <thrust/functional.h> #include <thrust/device_vector.h> ... thrust::device_vector<int> v(6); v[0] = 1; v[1] = 4; v[2] = 2; v[3] = 8; v[4] = 5; v[5] = 7; thrust::greater<int> comp; bool result = thrust::is_sorted(v.begin(), v.end(), comp); // result == false thrust::sort(v.begin(), v.end(), comp); result = thrust::is_sorted(v.begin(), v.end(), comp); // result == true
See also
sort
See also
stable_sort
See also
less<T>
- Parameters
first – The beginning of the sequence.
last – The end of the sequence.
comp – Comparison operator.
- Template Parameters
ForwardIterator – is a model of Forward Iterator, and
ForwardIterator's
value_type
is convertible to bothStrictWeakOrdering's
first_argument_type
andsecond_argument_type
.Compare – is a model of Strict Weak Ordering.
- Returns
true
, if the sequence is sorted according to comp;false
, otherwise.