מפות הן חלק מ-C++ STL (ספריית תבניות סטנדרטית). מפות הן המכלים האסוציאטיביים המאחסנים זוג מפתח-ערך ממוין, שבהם כל מפתח הוא ייחודי וניתן להכניסו או למחוק אותו אך לא ניתן לשנותו. ניתן לשנות ערכים הקשורים למפתחות.
לדוגמה: ניתן לייצג מפה של עובדים שבה מזהה עובד הוא המפתח והשם הוא הערך:
מפתחות | ערכים |
---|---|
101 | ניקיטה |
102 | אָדוֹם הַחֲזֶה |
103 | עָמוֹק |
104 | ג'ון |
תחביר
template <class key, map::key_type class t, map::mapped_type compare="less," map::key_compare alloc="allocator<pair"> // map::allocator_type > class map; </class>
פָּרָמֶטֶר
מַפְתֵחַ: סוג הנתונים המרכזי שיש לאחסן במפה.
סוּג: סוג הנתונים של הערך שיש לאחסן במפה.
לְהַשְׁווֹת: מחלקת השוואה שלוקחת שני ארגומנטים מאותו סוג bool ומחזירה ערך. ארגומנט זה הוא אופציונלי והפרדיקט הבינארי פחות הוא ערך ברירת המחדל.
alloc: סוג אובייקט המקצה. ארגומנט זה הוא אופציונלי וערך ברירת המחדל הוא allocator.
יצירת טבלאות בלטקס
יצירת מפה
ניתן ליצור מפות בקלות באמצעות ההצהרה הבאה:
typedef pair value_type;
הטופס שלמעלה ישמש ליצירת מפה עם מפתח סוג סוג מפתח וערך הסוג סוג ערך. דבר אחד חשוב הוא שמפתח של מפה וערכים מתאימים מוכנסים תמיד כזוג, אתה לא יכול להוסיף רק מפתח או רק ערך במפה.
דוגמה 1
#include #include #include #include using namespace std; int main() { map Employees; // 1) Assignment using array index notation Employees[101] = 'Nikita'; Employees[105] = 'John'; Employees[103] = 'Dolly'; Employees[104] = 'Deep'; Employees[102] = 'Aman'; cout << 'Employees[104]=' << Employees[104] << endl << endl; cout << 'Map size: ' << Employees.size() << endl; cout << endl << 'Natural Order:' << endl; for( map::iterator ii=Employees.begin(); ii!=Employees.end(); ++ii) { cout << (*ii).first << ': ' << (*ii).second << endl; } cout << endl << 'Reverse Order:' << endl; for( map::reverse_iterator ii=Employees.rbegin(); ii!=Employees.rend(); ++ii) { cout << (*ii).first << ': ' << (*ii).second << endl; } }
תְפוּקָה:
Employees[104]=Deep Map size: 5 Natural Order: 101: Nikita 102: Aman 103: Dolly 104: Deep 105: John Reverse Order: 105: John 104: Deep 103: Dolly 102: Aman 101: Nikita
פונקציות חבר
להלן הרשימה של כל פונקציות החברים במפה:
בונה/משמיד
פונקציות | תיאור |
---|---|
בנאים | בנה מפה |
משחתות | משחת מפות |
מפעיל= | העתק אלמנטים של המפה למפה אחרת. |
איטרטורים
פונקציות | תיאור |
---|---|
התחל | מחזירה איטרטור המצביע על האלמנט הראשון במפה. |
cbegin | מחזיר קוסט איטרטור המצביע על האלמנט הראשון במפה. |
סוֹף | מחזירה איטרטור המצביע על קצה העבר. |
כמה | מחזירה איטרטור קבוע המצביע על קצה העבר. |
rbegin | מחזירה איטרטור הפוך המצביע על הסוף. |
עושה | מחזירה איטרטור הפוך המצביע על ההתחלה. |
crbegin | מחזירה איטרטור הפוך קבוע המצביע על הסוף. |
לְהֶאֱמִין | מחזירה איטרטור הפוך קבוע המצביע על ההתחלה. |
קיבולת
פונקציות | תיאור |
---|---|
ריק | מחזירה אמת אם המפה ריקה. |
גודל | מחזירה את מספר האלמנטים במפה. |
גודל מקסימלי | מחזירה את הגודל המרבי של המפה. |
גישה לאלמנטים
פונקציות | תיאור |
---|---|
מַפעִיל[] | אחזר את האלמנט עם מפתח נתון. |
בְּ- | אחזר את האלמנט עם מפתח נתון. |
משנה
פונקציות | תיאור |
---|---|
לְהַכנִיס | הוסף אלמנט במפה. |
לִמְחוֹק | מחק אלמנטים מהמפה. |
לְהַחלִיף | החלף את תוכן המפה. |
ברור | מחק את כל הרכיבים של המפה. |
מקום | בנה והכנס את האלמנטים החדשים למפה. |
emplace_hint | בנה והוסף אלמנטים חדשים למפה לפי רמז. |
משקיפים
פונקציות | תיאור |
---|---|
key_comp | החזר עותק של אובייקט השוואת מפתח. |
value_comp | החזר עותק של אובייקט השוואת ערכים. |
פעולות
פונקציות | תיאור |
---|---|
למצוא | חפש אלמנט עם מפתח נתון. |
לספור | מקבל את מספר האלמנטים התואמים למפתח נתון. |
חסם תחתון | מחזירה איטרטור לגבול התחתון. |
עליונה_גבול | מחזירה איטרטור לגבול העליון. |
טווח_שווה | מחזירה את טווח האלמנטים התואמים למפתח נתון. |
מקצה
פונקציות | תיאור |
---|---|
get_allocator | מחזירה אובייקט מקצה המשמש לבניית המפה. |
פונקציות שאינן עמוסות יתר על המידה
פונקציות | תיאור |
---|---|
מפעיל== | בודק אם שתי המפות שוות או לא. |
מפעיל!= | בודק אם שתי המפות שוות או לא. |
מפעיל< | בודק אם המפה הראשונה קטנה מהאחרת או לא. |
מַפעִיל<=< td> | בודק אם המפה הראשונה קטנה מהאחרת או שווה או לא. | =<>
מפעיל> | בודק אם המפה הראשונה גדולה מהאחרת או לא. |
מפעיל>= | בודק אם המפה הראשונה גדולה משווה לאחרת או לא. |
לְהַחלִיף() | מחליף את האלמנט של שתי מפות. |