تعد الخرائط جزءًا من 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>
معامل
مفتاح: نوع البيانات الرئيسية المراد تخزينها في الخريطة.
قاعدة بيانات جافا Jdbc
يكتب: نوع بيانات القيمة المراد تخزينها في الخريطة.
مجموعة ج ++
يقارن: فئة مقارنة تأخذ وسيطتين من نفس النوع bool وتقوم بإرجاع قيمة. هذه الوسيطة اختيارية والمسند الثنائي الأقل هو القيمة الافتراضية.
تخصيص: نوع كائن المخصص. هذه الوسيطة اختيارية والقيمة الافتراضية هي المخصص.
إنشاء خريطة
يمكن إنشاء الخرائط بسهولة باستخدام العبارة التالية:
كم ميغابايت في غيغابايت
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
وظائف الأعضاء
فيما يلي قائمة بجميع وظائف أعضاء الخريطة:
منشئ / المدمرة
المهام | وصف |
---|---|
بناة | بناء الخريطة |
مدمرات | خريطة المدمرة |
المشغل= | انسخ عناصر الخريطة إلى خريطة أخرى. |
التكرارات
المهام | وصف |
---|---|
يبدأ | يُرجع مُكرِّرًا يشير إلى العنصر الأول في الخريطة. |
com.cbegin | يُرجع مكررًا ثابتًا يشير إلى العنصر الأول في الخريطة. |
نهاية | إرجاع مكرر يشير إلى النهاية الماضية. |
قليلة | إرجاع مكرر ثابت يشير إلى النهاية الماضية. |
rbegin | إرجاع مكرر عكسي يشير إلى النهاية. |
يصنع | إرجاع مكرر عكسي يشير إلى البداية. |
com.cbegin | يُرجع مكررًا عكسيًا ثابتًا يشير إلى النهاية. |
يعتقد | يُرجع مكررًا عكسيًا ثابتًا يشير إلى البداية. |
سعة
المهام | وصف |
---|---|
فارغ | يُرجع صحيحًا إذا كانت الخريطة فارغة. |
مقاس | إرجاع عدد العناصر في الخريطة. |
اقصى حجم | إرجاع الحد الأقصى لحجم الخريطة. |
الوصول إلى العنصر
المهام | وصف |
---|---|
المشغل أو العامل[] | استرداد العنصر باستخدام المفتاح المحدد. |
في | استرداد العنصر باستخدام المفتاح المحدد. |
الصفات التعريفية
المهام | وصف |
---|---|
إدراج | إدراج عنصر في الخريطة. |
محو | مسح العناصر من الخريطة. |
تبديل | تبادل محتوى الخريطة. |
واضح | حذف كافة عناصر الخريطة. |
موقع | قم ببناء وإدراج العناصر الجديدة في الخريطة. |
emplace_hint | قم ببناء وإدراج عناصر جديدة في الخريطة عن طريق التلميح. |
المراقبين
المهام | وصف |
---|---|
key_comp | قم بإرجاع نسخة من كائن المقارنة الرئيسي. |
value_comp | إرجاع نسخة من كائن مقارنة القيمة. |
عمليات
المهام | وصف |
---|---|
يجد | ابحث عن عنصر باستخدام المفتاح المحدد. |
عدد | يحصل على عدد العناصر المطابقة للمفتاح المحدد. |
الأدنى | إرجاع مكرر إلى الحد الأدنى. |
الحد الاعلى | إرجاع مكرر إلى الحد الأعلى. |
equal_range | إرجاع نطاق العناصر المتطابقة مع المفتاح المحدد. |
المخصص
المهام | وصف |
---|---|
get_allocator | يُرجع كائن المُخصص المُستخدم لإنشاء الخريطة. |
وظائف غير الأعضاء المثقلة
المهام | وصف |
---|---|
المشغل == | التحقق مما إذا كانت الخريطتان متساويتين أم لا. |
المشغل!= | التحقق مما إذا كانت الخريطتان متساويتين أم لا. |
المشغل< | يتحقق مما إذا كانت الخريطة الأولى أقل من غيرها أم لا. |
المشغل أو العامل<=< td> | للتحقق مما إذا كانت الخريطة الأولى أقل من أو تساوي الأخرى أم لا. | =<>
المشغل> | التحقق مما إذا كانت الخريطة الأولى أكبر من غيرها أم لا. |
المشغل>= | التحقق مما إذا كانت الخريطة الأولى أكبر من تساوي الخريطة الأخرى أم لا. |
تبديل() | يتبادل عنصر خريطتين. |