Template Function thrust::sort(RandomAccessIterator, RandomAccessIterator, StrictWeakOrdering)¶
Function Documentation¶
-
template<typename RandomAccessIterator, typename StrictWeakOrdering>__host__ __device__ void thrust::sort(RandomAccessIterator first, RandomAccessIterator last, StrictWeakOrdering comp)
sort
sorts the elements in[first, last)
into ascending order, meaning that ifi
andj
are any two valid iterators in[first, last)
such thati
precedesj
, then*j
is not less than*i
. Note:sort
is not guaranteed to be stable. That is, suppose that*i
and*j
are equivalent: neither one is less than the other. It is not guaranteed that the relative order of these two elements will be preserved bysort
.This version of
sort
compares objects using a function objectcomp
.The following code demonstrates how to sort integers in descending order using the greater<int> comparison operator.
- Parameters
first
: The beginning of the sequence.last
: The end of the sequence.comp
: Comparison operator.
- Template Parameters
RandomAccessIterator
: is a model of Random Access Iterator,RandomAccessIterator
is mutable, andRandomAccessIterator's
value_type
is convertible toStrictWeakOrdering's
first_argument_type
andsecond_argument_type
.StrictWeakOrdering
: is a model of Strict Weak Ordering.
#include <thrust/sort.h> #include <thrust/functional.h> ... const int N = 6; int A[N] = {1, 4, 2, 8, 5, 7}; thrust::sort(A, A + N, thrust::greater<int>()); // A is now {8, 7, 5, 4, 2, 1};
- See
- See
stable_sort
- See
sort_by_key