Пространства имён
Варианты
Действия

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