is_sorted
|
|
Category: algorithms |
Component type: function |
Prototype
Is_sorted is an overloaded name; there are actually two is_sorted
functions.
template <class ForwardIterator>
bool is_sorted(ForwardIterator first, ForwardIterator last)
template <class ForwardIterator, class StrictWeakOrdering>
bool is_sorted(ForwardIterator first, ForwardIterator last,
StrictWeakOrdering comp)
Description
Is_sorted returns true if the range [first, last) is sorted
in ascending order, and false otherwise.
The two versions of is_sorted differ in how they define whether one
element is less than another. The first version compares
objects using operator<, and the second compares objects using the
function object comp. The
first version of is_sorted returns true if and only if, for every
iterator i in the range [first, last - 1), *(i + 1) < *i is
false. The second version returns true if and only if,
for every iterator i in the range [first, last - 1), comp(*(i + 1),
*i) is false
Definition
Defined in algo.h.
Requirements on types
For the first version:
For the second version:
-
ForwardIterator is a model of Forward Iterator.
-
StrictWeakOrdering is a model of Strict Weak Ordering.
-
ForwardIterator's value type is convertible to
StrictWeakOrdering's argument type.
Preconditions
-
[first, last) is a valid range.
Complexity
Linear. Zero comparisons if [first, last) is an empty range,
otherwise at most (last - first) - 1 comparisons.
Example
int A[] = {1, 4, 2, 8, 5, 7};
const int N = sizeof(A) / sizeof(int);
assert(!is_sorted(A, A + N));
sort(A, A + N);
assert(is_sorted(A, A + N));
Notes
See also
sort,
stable_sort,
partial_sort,
partial_sort_copy,
sort_heap,
binary_search,
lower_bound,
upper_bound,
less<T>,
StrictWeakOrdering,
LessThan Comparable
Copyright ©
1999 Silicon Graphics, Inc. All Rights Reserved.
TrademarkInformation