adjacent_find
Материал из cppreference.com
Синтаксис:
#include <algorithm> forward_iterator adjacent_find( forward_iterator start, forward_iterator end ); forward_iterator adjacent_find( forward_iterator start, forward_iterator end, BinPred pr );
Функция The adjacent_find() просматривает элементы между итераторами start и end в поисках двух последовательных идентичных элементов. Если задан бинарный предикат pr, то он используется для сравнения элементов. Возвращаемое значение - итератор, который указывает на первый из двух найденных элементов. Если не найдено совпадающих элементов, возвращаемый итератор указывает на конец(end).
Например, следующий код создает вектор, содержащий целые значения между 0 и 10, с дважды появляющейся 7. adjacent_find() находит расположение пары семерок:
vector<int> v1; for( int i = 0; i < 10; i++ ) { v1.push_back(i); // add a duplicate 7 into v1 if( i == 7 ) { v1.push_back(i); } } vector<int>::iterator result; result = adjacent_find( v1.begin(), v1.end() ); if( result == v1.end() ) { cout << "Did not find adjacent elements in v1" << endl; } else { cout << "Found matching adjacent elements starting at " << *result << endl; }
Смотрите также: find, find_end, find_first_of, find_if, unique, unique_copy