thrust

◆ min_element() [2/4]

template<typename ForwardIterator >
ForwardIterator thrust::min_element ( ForwardIterator  first,
ForwardIterator  last 
)

min_element finds the smallest element in the range [first, last). It returns the first iterator i in [first, last) such that no other iterator in [first, last) points to a value smaller than *i. The return value is last if and only if [first, last) is an empty range.

The two versions of min_element differ in how they define whether one element is less than another. This version compares objects using operator<. Specifically, this version of min_element returns the first iterator i in [first, last) such that, for every iterator j in [first, last), *j < *i is false.

Parameters
firstThe beginning of the sequence.
lastThe end of the sequence.
Returns
An iterator pointing to the smallest element of the range [first, last), if it is not an empty range; last, otherwise.
Template Parameters
ForwardIteratoris a model of Forward Iterator, and ForwardIterator's value_type is a model of LessThan Comparable.
#include <thrust/extrema.h>
...
int data[6] = {1, 0, 2, 2, 1, 3};
int *result = thrust::min_element(data, data + 6);
// result is data + 1
// *result is 0
See also
http://www.sgi.com/tech/stl/min_element.html