סט C++ למצוא() הפונקציה רגילה למצוא אלמנט עם הנתון ערך val. אם הוא מוצא את האלמנט אז הוא מחזיר איטרטור המצביע על האלמנט אחרת, הוא מחזיר איטרטור המצביע על סוף הסט כלומר set::end().
תחביר
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
פָּרָמֶטֶר
val : מציין את הערך שיש לחפש במיכל הסט.
ערך החזרה
אם הוא מוצא את האלמנט אז הוא מחזיר איטרטור המצביע על האלמנט אחרת, הוא מחזיר איטרטור המצביע על סוף הסט כלומר set::end().
מוּרכָּבוּת
בגודל לוגריתמי.
תוקף איטרטור
אין שינויים.
מירוצי נתונים
יש גישה למכולה (לא ה-const ולא הגירסאות הלא-const משנות את המכולה.
אין גישה לערכים ממופים: הגישה והשינוי של האלמנטים בו-זמנית בטוחה.
בטיחות חריגה
אם נזרק חריג, אין שינויים במיכל.
דוגמה 1
בואו נראה את הדוגמה הפשוטה למציאת האלמנט עם ערך המפתח הנתון:
#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; }
תְפוּקָה:
Iterator points to 300
דוגמה 2
בוא נראה דוגמה פשוטה כדי למצוא את האלמנט:
string.format
#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>
בדוגמה שלמעלה, הפונקציה find() מוצאת את ערך המפתח e בקבוצה m, אם היא לא נמצאת בקבוצה אז היא תחזיר הודעה לא נמצא אחרת, היא תציג את הסט.
דוגמה 3
בואו נראה דוגמה פשוטה:
#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></\'>
בדוגמה שלמעלה, הפונקציה find() משמשת כדי למצוא את האלמנט בהתאם לערך הנתון של המשתמש.
דוגמה 4
בואו נראה דוגמה פשוטה:
#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>