logo

Conjunto C++ encontrar ()

Conjunto C++ encontrar() função é usada para encontrar um elemento com o dado valor val. Se encontrar o elemento, ele retornará um iterador apontando para o elemento, caso contrário, ele retornará um iterador apontando para o final do conjunto, ou seja, set::end().

Sintaxe

 iterator find (const value_type& val) const; // until C++ 11 const_iterator find (const value_type& val) const; //since C++ 11 iterator find (const value_type& val); //since C++ 11 

Parâmetro

valor : especifica o valor a ser pesquisado no contêiner definido.

Valor de retorno

Se encontrar o elemento, ele retornará um iterador apontando para o elemento, caso contrário, ele retornará um iterador apontando para o final do conjunto, ou seja, set::end().

Complexidade

Tamanho logarítmico.

Validade do iterador

Sem alterações.

Corridas de dados

O contêiner é acessado (nem as versões const nem as não const modificam o contêiner.

Nenhum valor mapeado é acessado: acessar e modificar simultaneamente os elementos é seguro.

Segurança de exceção

Se uma exceção for lançada, não haverá alterações no contêiner.

Exemplo 1

Vejamos o exemplo simples para encontrar o elemento com o valor-chave fornecido:

 #include #include using namespace std; int main(void) { set m = {100,200,300,400}; auto it = m.find(300); cout << 'Iterator points to ' << *it << endl; return 0; } 

Saída:

 Iterator points to 300 

Exemplo 2

Vejamos um exemplo simples para encontrar o elemento:

listar java para array
 #include #include using namespace std; int main(void) { set m = {&apos;a&apos;, &apos;b&apos;, &apos;c&apos;, &apos;d&apos;}; auto it = m.find(&apos;e&apos;); if ( it == m.end() ) { // not found cout&lt;<'element not found'; } else { found cout << 'iterator points to ' *it<< endl; return 0; < pre> <p> <strong>Output:</strong> </p> <pre> Element not found </pre> <p>In the above example, find() function finds the key value e in the set m, if it is not found in the set then it will return a not found message otherwise, it will display the set.</p> <h2>Example 3</h2> <p>Let&apos;s see a simple example:</p> <pre> #include #include using namespace std; int main() { char n; set example = {&apos;a&apos;,&apos;b&apos;,&apos;c&apos;,&apos;d&apos;,&apos;e&apos;}; cout&lt;&gt;n; auto search = example.find(n); if (search != example.end()) { cout &lt;&lt; n&lt;<' found and the value is ' << *search '
'; } else { cout n<<' not found
'; < pre> <p> <strong>Output:</strong> </p> <pre> Enter the element which you want to search: b b found and the value is b </pre> <p>In the above example, find() function is used to find the element according to user&apos;s given value.</p> <h2>Example 4</h2> <p>Let&apos;s see a simple example:</p> <pre> #include #include int main () { std::set myset; std::set::iterator it; for (int i = 1; i <= 10; i++) myset.insert(i*10); it="myset.find(40);" myset.erase (it); (myset.find(60)); std::cout << 'myset contains:'; for (it="myset.begin();" it!="myset.end();" ++it) ' *it; '
'; return 0; } < pre> <p> <strong>Output:</strong> </p> <pre> myset contains: 10 20 30 50 70 80 90 100 </pre> <br></=></pre></'></pre></'element>

No exemplo acima, a função find() encontra o valor da chave e no conjunto m, se não for encontrado no conjunto retornará uma mensagem de não encontrado, caso contrário, exibirá o conjunto.

Exemplo 3

Vejamos um exemplo simples:

 #include #include using namespace std; int main() { char n; set example = {&apos;a&apos;,&apos;b&apos;,&apos;c&apos;,&apos;d&apos;,&apos;e&apos;}; cout&lt;&gt;n; auto search = example.find(n); if (search != example.end()) { cout &lt;&lt; n&lt;<\' found and the value is \' << *search \'
\'; } else { cout n<<\' not found
\'; < pre> <p> <strong>Output:</strong> </p> <pre> Enter the element which you want to search: b b found and the value is b </pre> <p>In the above example, find() function is used to find the element according to user&apos;s given value.</p> <h2>Example 4</h2> <p>Let&apos;s see a simple example:</p> <pre> #include #include int main () { std::set myset; std::set::iterator it; for (int i = 1; i <= 10; i++) myset.insert(i*10); it="myset.find(40);" myset.erase (it); (myset.find(60)); std::cout << \'myset contains:\'; for (it="myset.begin();" it!="myset.end();" ++it) \' *it; \'
\'; return 0; } < pre> <p> <strong>Output:</strong> </p> <pre> myset contains: 10 20 30 50 70 80 90 100 </pre> <br></=></pre></\'>

No exemplo acima, a função find() é usada para encontrar o elemento de acordo com o valor fornecido pelo usuário.

Exemplo 4

Vejamos um exemplo simples:

 #include #include int main () { std::set myset; std::set::iterator it; for (int i = 1; i <= 10; i++) myset.insert(i*10); it="myset.find(40);" myset.erase (it); (myset.find(60)); std::cout << \'myset contains:\'; for (it="myset.begin();" it!="myset.end();" ++it) \' *it; \'
\'; return 0; } < pre> <p> <strong>Output:</strong> </p> <pre> myset contains: 10 20 30 50 70 80 90 100 </pre> <br></=>