English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
C ++ set find()函数用于查找具有给定值 val 的元素。如果找到元素,则返回指向该元素的迭代器,否则返回指向集合末尾的迭代器,即set :: end()。
iterator find (const value_type& val) const; // C++ 11 之前 const_iterator find (const value_type& val) const; //De C++ 11Início iterator find (const value_type& val); //De C++ 11Início
val:Especifica o valor a ser pesquisado no contêiner de conjunto.
Se encontrar o elemento, retorna o iterador apontando para ele, caso contrário, retorna o iterador apontando para o final da coleção, ou seja, set :: end().
Tamanho logarítmico.
Sem alterações.
O contêiner não pode ser modificado (versão const e não const) do contêiner.
Não há acesso aos valores do mapeamento: o acesso e a modificação de elementos são seguros.
Se uma exceção for lançada, não haverá alterações no contêiner.
Vamos ver um exemplo simples para encontrar um elemento com um valor de chave dado:
#include <iostream> #include <set> using namespace std; int main(void) { set<int> m = {100,200,300,400}; auto it = m.find(300); cout << "O iterador aponta para " << *it << endl; return 0; }
Saída:
O iterador aponta para 300
Vamos ver um exemplo simples para encontrar um elemento:
#include <iostream> #include <set> using namespace std; int main(void) { set<char> m = {'a', 'b', 'c', 'd'}; auto it = m.find('e'); if (it == m.end()) { // Elemento não encontrado cout << "Elemento não encontrado"; } else { // Encontrado cout << "O iterador aponta para " << *it << endl; } return 0; }
Saída:
Elemento não encontrado
No exemplo acima, a função find() busca o valor e no conjunto m, se o valor e não for encontrado no conjunto m, ele retornará a mensagem não encontrado, caso contrário, ele mostrará o conjunto.
Vamos ver um exemplo simples:
#include <iostream> #include <set> using namespace std; int main() { char n; set<char> example = {'a','b','c','d','e'}; cout << "Insira o elemento a ser pesquisado: "; cin >> n; auto search = example.find(n); if (search != example.end()) { cout << n << " encontrado e o valor é " << *search << '\n'; } else { cout << n << " não encontrado\n"; } }
Saída:
Insira o elemento a ser pesquisado: Encontrado e o valor é
No exemplo acima, usamos a função find() para encontrar um elemento com base no valor fornecido pelo usuário.
Vamos ver um exemplo simples:
#include <iostream> #include <set> int main () { std::set<int> myset; std::set<int>::iterator it; for (int i = 1; i <= 10; i++myset.insert(i*10); it = myset.find(40); myset.erase(it); myset.erase(myset.find(60)); std::cout << "myset contém:"; for (it = myset.begin(); it != myset.end(); ++it); std::cout << ' ' << *it; std::cout << '\n'; return 0; }
Saída:
myset contém: 10 20 30 50 70 80 90 100