Программирование >>  Инициализация объектов класса, структура 

1 ... 364 365 366 [ 367 ] 368 369 370 ... 395


template< class InputIterator, class T >

InputIterator

find( InputIterator first,

Алгоритм find()

InputIterator last, const T &value );

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

#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 << поиск первого вхож;дения

ск первого << \t

elem << \t ( found it ? найдено!\n : не найдено!\n );

string beethoven[] = {

Sonata31 , S

Archduke , Sphony7

Sonata31 , Sonata32 , artet14 , artet15 ,

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 );

элемент; в противном случае возвращается last.



template< class InputIterator, class Predicate > InputIterator

find if( InputIterator first,

Алгоритм find if()

InputIterator last, Predicate pred );

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



#include <algorithm>

#include <list>

#include <set>

#include <string>

#include <iostream.h>

альтернатива оператору равенства возвращает true, строка содержится в объекте-члене FriendSet

class OurFriends { друзья

public:

bool operator()( const string& str ) {

return ( friendset.count( str ));

static void

FriendSet( const string *fs, int count ) { copy( fs, fs+count, inserter( friendset, friendset.end() ));

private:

static set< string, less<string>, allocator > friendset;

set< string, less<string>, allocator > OurFriends::friendset;

int main() {

string Pooh friends[] = { Пятачок , Тигра , Иа-Иа }; string more friends[] = { Квазодо , Чип , Пятачок };

list<string,allocator> lf( more friends, more friends+3 );

заполнить список друзей Пуха OurFriends::FriendSet( Pooh friends, 3 );

list<string,allocator>::iterator our mutual friend; our mutual friend =

find if( lf.begin(), lf.end(), OurFriends());

печатается:

Представьте-ка, наш друг Пятачок - также друг Пуха. if ( our mutual friend != lf.end() )

cout << Представьте-ка, наш друг *our mutual friend

также друг Пуха.\n ;

return 0;



1 ... 364 365 366 [ 367 ] 368 369 370 ... 395

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика