logo

C++ set find()

set C++ găsi() funcția este obișnuită găsi un element cu dat valoare val. Dacă găsește elementul, atunci returnează un iterator care indică elementul, în caz contrar, returnează un iterator care indică la sfârșitul setului, adică set::end().

Sintaxă

 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 

Parametru

val : specifică valoarea de căutat în containerul setat.

Valoare returnată

Dacă găsește elementul, atunci returnează un iterator care indică elementul, în caz contrar, returnează un iterator care indică la sfârșitul setului, adică set::end().

Complexitate

Dimensiune logaritmică.

Valabilitatea iteratorului

Nici o schimbare.

Curse de date

Containerul este accesat (nici versiunile const, nici versiunile non-const nu modifică containerul.

Nu sunt accesate valori mapate: accesarea și modificarea simultană a elementelor este sigură.

Siguranță excepție

Dacă se aruncă o excepție, nu există modificări în container.

Exemplul 1

Să vedem exemplul simplu pentru a găsi elementul cu valoarea cheie dată:

 #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; } 

Ieșire:

 Iterator points to 300 

Exemplul 2

Să vedem un exemplu simplu pentru a găsi elementul:

java salut lume
 #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>

În exemplul de mai sus, funcția find() găsește valoarea cheie e în setul m, dacă nu este găsită în set, atunci va returna un mesaj negăsit, în caz contrar, va afișa setul.

Exemplul 3

Să vedem un exemplu simplu:

 #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></\'>

În exemplul de mai sus, funcția find() este folosită pentru a găsi elementul în funcție de valoarea dată de utilizator.

Exemplul 4

Să vedem un exemplu simplu:

 #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></=>