מהן מפות ב-C++?
מהן מפות ב-C++?

וִידֵאוֹ: מהן מפות ב-C++?

וִידֵאוֹ: מהן מפות ב-C++?
וִידֵאוֹ: Map in C++ with practical examples - step by step Data Structures tutorial 2024, מאי
Anonim

מפות הם מיכלים אסוציאטיביים המאחסנים רכיבים שנוצרו על ידי שילוב של ערך מפתח וערך ממופה, בעקבות סדר מסוים. ב מַפָּה , ערכי המפתח משמשים בדרך כלל למיון וזיהוי ייחודי של האלמנטים, בעוד שהערכים הממופים מאחסנים את התוכן המשויך למפתח זה.

כאן, מה השימוש במפות ב-C++?

מַפָּה value_comp() ב C++ STL– מחזירה את האובייקט שקובע כיצד האלמנטים ב- מַפָּה areordered ('<' כברירת מחדל). מַפָּה הפונקציה key_comp() ב C++ STL– מחזירה את האובייקט שקובע כיצד האלמנטים ב- מַפָּה מסודרים ('<' כברירת מחדל). מַפָּה :: גודל() ב C++ STL– מחזירה את מספר האלמנטים ב- מַפָּה.

מלבד למעלה, האם מפות מסודרות ב-C++? כן, סטד:: מַפָּה הוא הורה מבוסס על המפתח, K, באמצעות std::less כדי להשוות אובייקטים, כברירת מחדל. אז אם אני אחזור על זה, זה יחזור עם המחרוזת הראשונה של ההכנסה הראשונה? לא. זה יחזור על סמך ה מיון , לא את להזמין שהכנסת אלמנטים.

בהתאם, מהי מפה ב-C++?

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

למה טובות Hashmaps?

מפת גיבוב מספק מורכבות זמן קבועה עבור פעולות בסיסיות, get and put, אם פונקציית ה-hash כתובה כהלכה והיא מפזרת את האלמנטים כראוי בין הדליים. איטרציה מעל מפת גיבוב תלוי בקיבולת של מפת גיבוב ומספר זוגות מפתח-ערך.