find
Материал из cppreference.com
Синтаксис:
#include <set> iterator find( const key_type& key ); const_iterator find( const key_type& key ) const;
Функция find() возвращает итератор на ключ key либо итератор на конец контейнера multiset, если ключ key не был найден.
В примере find() используется для поиска и удаления одного подходящего элемента:
multiset<int> ms; multiset<int>::iterator iter; int i; for (i = 1; i < 5; i++) { ms.insert(i); ms.insert(i*i); ms.insert(i-1); } cout << "было: " ; for (iter = ms.begin(); iter != ms.end(); ++iter) cout << " " << *iter; cout << "." << endl; iter = ms.find( 3 ); if ( iter != ms.end() ) { ms.erase( iter ); } cout << "стало:" ; for (iter = ms.begin(); iter != ms.end(); ++iter) cout << " " << *iter; cout << "." << endl;
The above code produces the following output:
было: 0 1 1 1 2 2 3 3 4 4 9 16. стало: 0 1 1 1 2 2 3 4 4 9 16.
Обратите внимание, что была удалена только одна тройка.
find() выполняется за логарифм.