מפה
שיעור 9 מתוך 23 בקורס C++ - ספריית התבניות הסטנדרטית של Coddy.
Map הוא מבנה נתונים אסוציאטיבי שמאחסן איברים המורכבים משילוב של ערך מפתח וערך משויך, לפי סדר מסוים.

לכל איבר יש ערך מפתח ייחודי. בנוסף, האיברים מאוחסנים כברירת מחדל לפי ערכי המפתח בסדר עולה.
אז איך מממשים מפות ב-C++? ראשית, עלינו לכלול את קובץ הכותרת map באמצעות #include <map>.
התחביר לאתחול מפה ב-C++ הוא כדלקמן:
map<key_DataType, value_DataType> map_name ;כדי להכריז על מפה כמו זו שלמעלה, שבה מחרוזות משמשות כמפתחות, ומספרים שלמים משמשים כערכים המתאימים להם, נשתמש בפקודה הבאה:
map<string, int> myMap;בשלב הבא, נלמד איך להוסיף איברים (צמדי מפתח-ערך) למפה. יש לנו שתי שיטות להוספת צמדי מפתח-ערך חדשים למפה.
השיטה הראשונה היא להשתמש בסימן שוויון.
map_name[key] = value;פעולה זו תאחסן במפה את הערך 'value' תחת המפתח 'key'.
myMap["apple"] = 3;
cout << myMap["apple"];Output:
3השיטה הבאה היא להשתמש בפונקציה insert(). הפונקציה insert מוסיפה צמד מפתח-ערך חדש למפה עם המפתח והערך שצוינו.
map_name.insert({key, value});myMap.insert({"banana", 1});
cout << myMap["banana"];Output:
1שיטות של Map
| שיטה | תפקוד |
| begin() | מחזירה איטרטור שמצביע על האיבר הראשון במפה |
| size() | מחזירה את מספר האיברים במפה |
| empty() | מחזירה אם המפה ריקה (1) או לא (0) |
| erase() | מסירה מהמפה את הצמד שהמפתח שלו צוין |
| clear() | מסירה את כל האיברים מהמפה |
אתגר
בינונינתונים 5 שמות וציונים מהקלט. השמות והציונים מתווספים לסירוגין: מזינים שם אחד, ואז מזינים ציון המתאים לשם שהוזן לפניו, וכן הלאה.
לאחר 10 הקלטים, מזינים מספר נוסף שמייצג כמה מהציונים של השמות שהוזנו צריך להציג, כל אחד בשורה חדשה.
Input
John 25
Ben 38
Ana 70
Jacob 95
Drake 50
3
Ben
Drake
JacobOutput
38
50
95נסו בעצמכם
#include <map>
#include <iostream>
using namespace std;
int main()
{
// Enter your code here
return 0;
}כל השיעורים ביחידה C++ - ספריית התבניות הסטנדרטית
תרגלו בעצמכם: קומפיילר C++ אונליין