С++ для начинающих

       

Алгоритм find()


template< class InputIterator, class T >

InputIterator

find( InputIterator first,

      InputIterator last, const T &value );

Элементы из диапазона, ограниченного парой итераторов [first,last), сравниваются со значением value с помощью оператора равенства, определенного для типа элементов контейнера. Как только соответствие найдено, поиск прекращается. find() возвращает итератор типа InputIterator, указывающий на найденный элемент; в противном случае возвращается last.

#include <algorithm>

#include <iostream.h>

#include <list>

#include <string>

          

int main()

{

           int array[ 17 ] = { 7,3,3,7,6,5,8,7,2,1,3,8,7,3,8,4,3 };



          

           int elem = array[ 9 ];

           int *found_it;

                 

           found_it = find( &array[0], &array[17], elem );

           // печатается: поиск первого вхождения 1 найдено!

           cout << "поиск первого вхождения "

                << elem << "\t"

                << ( found_it ? "найдено!\n" : "не найдено!\n" );

     string beethoven[] = {

              "Sonata31", "Sonata32", "Quartet14", "Quartet15",

              "Archduke", "Symphony7" };

           string s_elem( beethoven[ 1 ] );

     list< string, allocator > slist( beethoven, beethoven+6 );

           list< string, allocator >::iterator iter;

           iter = find( slist.begin(), slist.end(), s_elem );

           // печатается: поиск первого вхождения Sonata32 найдено!

           cout << "поиск первого вхождения "

                << s_elem << "\t"

                << ( found_it ? "найдено!\n" : "не найдено!\n" );

}



Содержание раздела