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 = {'a', 'b', 'c', 'd'}; auto it = m.find('e'); if ( it == m.end() ) { // not found cout<<'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's see a simple example:</p> <pre> #include #include using namespace std; int main() { char n; set example = {'a','b','c','d','e'}; cout<>n; auto search = example.find(n); if (search != example.end()) { cout << n<<' 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's given value.</p> <h2>Example 4</h2> <p>Let'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 = {'a','b','c','d','e'}; cout<>n; auto search = example.find(n); if (search != example.end()) { cout << n<<\' 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's given value.</p> <h2>Example 4</h2> <p>Let'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></=>
=>\'>'element>