logo

HASHSET ב-C++

א אוסף לא מסודר המורכב מאלמנטים ייחודיים נקרא א hashset ב-c++ . אוסף הפעולות הסטנדרטי, כמו הסר, מכיל כלול ב-c++. צומת, הבדל סימטרי ואיחוד הם הפעולה הסטנדרטית המבוססת על סטים המורכבת על ידי c++. לזיהוי וחיפוש של פריטים, פונקציית ה-hash ב-hashset שימושית מאוד ב-c++. ה-hashset לוקח תפקיד חשוב בזיהוי כפילויות ברשימה המורכבת. על ידי פונקציית Hash זו, אנו יכולים לקבל את הערכים המובחנים ואפילו את הערכים הכפולים. ה list unordered_ (hashset) לוקח קצת זמן כלומר o (1) שהוא קבוע בטבעו. במקרה השני, הזמן הנלקח יכול להיות o שהוא זמן ליניארי. בהקשר זה, נלמד הכל על ה-hashset ב-c++.

ההבדל בין גיגה-בייט למגה-בייט

תחביר:

התחביר להכנסת hashset או ערכה לא מסודרת ב-c++, שהוא סוג מחרוזת, הוא כדלקמן:

 int main() { unordered_set CBA ; CBA.insert('') ; CBA.insert('') ; .................. } 

כמה דוגמאות ל-C++ hashset עם מנגנון העבודה שלהם:

א unordered_set אוֹ HashSet הוא קבוצה שבה המפתח מאוחסן בכל סדר. עבור HashSet, יש הרבה פונקציות בשימוש. אבל הפונקציות הנפוצות ביותר מופיעות להלן:

  1. פונקציית הגודל משמשת לקיבולת.
  2. פונקציה ריקה משמשת גם עבור קיבולת.
  3. find משמש לחיפוש מפתח.
  4. פונקציית המחיקה משמשת לשינויים בה.
  5. פונקציית ההוספה משמשת גם לשינוי.

א unordered_set מאפשר רק את המפתחות הייחודיים, ו-an unordered_multiset מאפשר רק את המפתחות הכפולים דרכו.

דוגמאות:

עם סוגי הדוגמאות השונים, כל מנגנון העבודה של C++ HashSet הוסבר באופן הבא:

1) דוגמה ל-c++ hashset באמצעות {…...} זוהי רשימה אתחול:

באמצעות HashSet ב-C++, ניתנת הדוגמה הבסיסית שבה אתחולנו את הסט בעזרת רשימת האתחול {…..}.

קוד:

 #include #include int main() { std::unordered_set P { 2017, 2016, 2015 }; for (auto Q: P) std::cout << Q << '
'; return 0; } 

תְפוּקָה:

 2015 2016 2017 

2) שימוש בפרדיקט בינארי להעברת אובייקט השוואה:

instanceof ב-java

באמצעות קבוצת פרדיקטים בינארית, אובייקטי ההשוואה מועברים בדוגמה הנתונה למטה. סדר הסט מוגדר באמצעות שני סוגים זהים של אלמנטים.

קוד:

 #include #include struct JAVATPOINT { template bool operator()(const X& n, const X& p) const { return n > p; } }; int main() { std::set values = { 120, 80, 250 }; for (auto S: values) std::cout << S << '
'; return 0; } 

תְפוּקָה:

 250 120 80 

3) דוגמה ל-hashset ב-C++ באמצעות insert, iteration, find והכרזה:

בדוגמה המובאת להלן, זמן קבוע נלקח בממוצע עבור פעולת ההוספה, המחיקה והחיפוש. פונקציית החיפוש ניתנת בדוגמה כאשר בסט, המפתח אינו קיים. זה מחזיר את איטרטור אל ה סוֹף() . ומצד שני, האיטרטור חוזר בקלות למצב המפתח כאשר בסט, המפתח קיים. עבור ערכי המפתח כמצביע, איטרטור משמש לקבלת המפתח, וניתן לאחזר את המפתח באמצעות אופרטור מפנה * .

קוד:

רום
 #include using namespace std; int main() { unordered_set CBA ; CBA.insert('Developer') ; CBA.insert('Programmer') ; CBA.insert('tester') ; CBA.insert('HR') ; CBA.insert('Coder') ; string key = 'JAVATPOINT' ; if (CBA.find(key) == CBA.end()) cout << key << ' one of the best company.' << endl << endl ; else cout << 'retrieved' << key << endl << endl ; key = 'Programmer'; if (CBA.find(key) == CBA.end()) cout << key << 'can not retrieve
' ; else cout << 'retrieved ' << key << endl ; cout << '
here is the designations : &apos; &lt;<endl; unordered_set :: iterator itr; for (itr="CBA.begin();" itr !="CBA.end();" itr++) cout << (*itr) endl; } < pre> <p> <strong>Output:</strong> </p> <pre> JAVATPOINT one of the best company. retrieved Programmer here is the designations : HR tester Programmer Coder Developer When the key data is not found in the order list: JAVATPOINT one of the best company Program can not retrieve here is the designations : HR tester Programmer Coder Developer </pre> <p> <strong>4) Using an unordered set searching for duplicate content:</strong> </p> <p>In the given below example as the input, the set of integers is provided, and in the set, the duplicates have been found and displayed in the output.</p> <p> <strong>Code example:</strong> </p> <pre> #include using namespace std; void printDuplicates(int deepak[], int M) { unordered_set JAVATPOINT; unordered_set similar; for (int P = 0; P <m; p++) { if (javatpoint.find(deepak[p])="=" javatpoint.end()) javatpoint.insert(deepak[p]); else similar.insert(deepak[p]); } cout << 'similar contents are : '; unordered_set :: iterator start; for (start="similar.begin();" start !="similar.end();" start++) *start ' int main() deepak[]="{9," 3, 6, 1, 2, 4, 9, 5, 7, 0, 8}; m="sizeof(Deepak)" sizeof(int); printduplicates(deepak, m); return 0; < pre> <p> <strong>Output:</strong> </p> <pre> similar contents are : 9 6 </pre> <h2>Conclusion:</h2> <p>In the above context, we have learned about HashSet in C++ and its working mechanism of it. In this article, we have also learned the various applications of C++ has set with the help of different examples in which they are working. In finding duplicate content and desired content C++ HashSet plays a vital role in it.</p> <hr></m;></pre></endl;>

4) שימוש בסט לא מסודר לחיפוש תוכן משוכפל:

בדוגמה הנתונה למטה כקלט, קבוצת המספרים השלמים מסופקת, ובקבוצה, הכפילויות נמצאו והוצגו בפלט.

דוגמה לקוד:

 #include using namespace std; void printDuplicates(int deepak[], int M) { unordered_set JAVATPOINT; unordered_set similar; for (int P = 0; P <m; p++) { if (javatpoint.find(deepak[p])="=" javatpoint.end()) javatpoint.insert(deepak[p]); else similar.insert(deepak[p]); } cout << \'similar contents are : \'; unordered_set :: iterator start; for (start="similar.begin();" start !="similar.end();" start++) *start \' int main() deepak[]="{9," 3, 6, 1, 2, 4, 9, 5, 7, 0, 8}; m="sizeof(Deepak)" sizeof(int); printduplicates(deepak, m); return 0; < pre> <p> <strong>Output:</strong> </p> <pre> similar contents are : 9 6 </pre> <h2>Conclusion:</h2> <p>In the above context, we have learned about HashSet in C++ and its working mechanism of it. In this article, we have also learned the various applications of C++ has set with the help of different examples in which they are working. In finding duplicate content and desired content C++ HashSet plays a vital role in it.</p> <hr></m;>

סיכום:

בהקשר לעיל, למדנו על HashSet ב-C++ ומנגנון העבודה שלו. במאמר זה, למדנו גם את היישומים השונים של C++ שנקבעו בעזרת דוגמאות שונות בהן הם עובדים. במציאת תוכן משוכפל ותוכן רצוי C++ HashSet משחק בו תפקיד חיוני.