|
ALINK="#ff0000">
adjacent_find
PrototypeAdjacent_find is an overloaded name; there are actually two adjacent_find functions.template <class ForwardIterator> ForwardIterator adjacent_find(ForwardIterator first, ForwardIterator last); template <class ForwardIterator, class BinaryPredicate> ForwardIterator adjacent_find(ForwardIterator first, ForwardIterator last, BinaryPredicate binary_pred); DescriptionThe first version of adjacent_find returns the first iterator i such that i and i+1 are both valid iterators in [first, last), and such that *i == *(i+1). It returns last if no such iterator exists.The second version of adjacent_find returns the first iterator i such that i and i+1 are both valid iterators in [first, last), and such that binary_pred(*i, *(i+1)) is true. It returns last if no such iterator exists. DefinitionDefined in the standard header algorithm, and in the nonstandard backward-compatibility header algo.h.Requirements on typesFor the first version:
Preconditions
ComplexityLinear. If first == last then no comparison are performed; otherwise, at most (last - first) - 1 comparisons.ExampleFind the first element that is greater than its successor.int A[] = {1, 2, 3, 4, 6, 5, 7, 8}; const int N = sizeof(A) / sizeof(int); const int* p = adjacent_find(A, A + N, greater<int>()); cout << "Element " << p - A << " is out of order: " << *p << " > " << *(p + 1) << "." << endl; NotesSee alsofind, mismatch, equal, searchCopyright © 1999 Silicon Graphics, Inc. All Rights Reserved. TrademarkInformation
|