logo

C++ komplekts find()

C++ komplekts atrast () funkcija ir pieradusi atrast elementu ar doto vērtību val. Ja tas atrod elementu, tas atgriež iteratoru, kas norāda uz elementu, pretējā gadījumā tas atgriež iteratoru, kas norāda uz kopas beigām, t.i., set::end ().

Sintakse

 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 

Parametrs

val : norāda vērtību, kas jāmeklē iestatītajā konteinerā.

Atdeves vērtība

Ja tas atrod elementu, tas atgriež iteratoru, kas norāda uz elementu, pretējā gadījumā tas atgriež iteratoru, kas norāda uz kopas beigām, t.i., set::end ().

Sarežģītība

Logaritmiska izmēra.

Iteratora derīgums

Nav izmaiņu.

Datu sacīkstes

Konteineram tiek piekļūts (ne const, ne ne const versijas nemaina konteineru.

Nav piekļuves kartētām vērtībām: vienlaicīga piekļuve elementiem un to modificēšana ir droša.

Izņēmums Drošība

Ja tiek izmests izņēmums, konteinerā nav nekādu izmaiņu.

1. piemērs

Apskatīsim vienkāršu piemēru, lai atrastu elementu ar norādīto atslēgas vērtību:

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

Izvade:

 Iterator points to 300 

2. piemērs

Apskatīsim vienkāršu piemēru elementa atrašanai:

java saraksti
 #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>

Iepriekš minētajā piemērā funkcija find() atrod atslēgas vērtību e kopā m, ja tā netiek atrasta kopā, tad tā atgriezīs ziņojumu, kas nav atrasts, pretējā gadījumā tā parādīs kopu.

3. piemērs

Apskatīsim vienkāršu piemēru:

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

Iepriekš minētajā piemērā funkcija find() tiek izmantota, lai atrastu elementu atbilstoši lietotāja norādītajai vērtībai.

4. piemērs

Apskatīsim vienkāršu piemēru:

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