El multiset::find() es una función incorporada en C++ STL que devuelve un iterador que apunta al límite inferior del elemento que se busca en el contenedor de conjuntos múltiples. Si no se encuentra el elemento, el iterador apunta a la posición más allá del último elemento del conjunto.
Sintaxis:
multiset_name.find(element)
Parámetros: la función acepta un elemento de parámetro obligatorio que especifica el elemento que se buscará en el contenedor de conjuntos múltiples.
Valor devuelto: la función devuelve un iterador que apunta al elemento que se busca en el contenedor de conjuntos múltiples. Si no se encuentra el elemento, el iterador apunta a la posición justo después del último elemento del conjunto múltiple.
Complejidad temporal: si n es el tamaño de multiset, entonces la complejidad temporal de la función multiset::find() es de orden logarítmico de n, es decir, O(log(n)).
El siguiente programa ilustra la función anterior.
Programa 1:
CPP
// CPP program to demonstrate the // multiset::find() function #include <bits/stdc++.h> using namespace std; int main() { // Initialize multiset multiset<int> s; s.insert(1); s.insert(4); s.insert(2); s.insert(5); s.insert(3); s.insert(3); s.insert(3); s.insert(5); cout << "The set elements are: "; for (auto it = s.begin(); it != s.end(); it++) cout << *it << " "; // iterator pointing to // position where 2 is auto pos = s.find(3); // prints the set elements cout << "\nThe set elements after 3 are: "; for (auto it = pos; it != s.end(); it++) cout << *it << " "; return 0; }
The set elements are: 1 2 3 3 3 4 5 5 The set elements after 3 are: 3 3 3 4 5 5
Programa 2:
CPP
// CPP program to demonstrate the // multiset::find() function #include <bits/stdc++.h> using namespace std; int main() { // Initialize multiset multiset<char> s; s.insert('a'); s.insert('a'); s.insert('a'); s.insert('b'); s.insert('c'); s.insert('a'); s.insert('a'); s.insert('c'); cout << "The set elements are: "; for (auto it = s.begin(); it != s.end(); it++) cout << *it << " "; // iterator pointing to // position where 2 is auto pos = s.find('b'); // prints the set elements cout << "\nThe set elements after b are: "; for (auto it = pos; it != s.end(); it++) cout << *it << " "; return 0; }
The set elements are: a a a a a b c c The set elements after b are: b c c