SGI

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:

Preconditions

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
[Silicon Surf] [STL Home]
Copyright © 1999 Silicon Graphics Inc. All Rights Reserved. TrademarkInformation