logo

وظيفة الخريطة C++

تعد الخرائط جزءًا من C++ STL (مكتبة النماذج القياسية). الخرائط هي الحاويات الترابطية التي تخزن زوجًا من المفاتيح والقيمة المصنفة، حيث يكون كل مفتاح فريدًا ويمكن إدراجه أو حذفه ولكن لا يمكن تغييره. يمكن تغيير القيم المرتبطة بالمفاتيح.

على سبيل المثال: يمكن تمثيل خريطة للموظفين حيث يكون معرف الموظف هو المفتاح والاسم هو القيمة على النحو التالي:

مفاتيح قيم
101 نيكيتا
102 روبن
103 عميق
104 جون

بناء الجملة

 template <class key, map::key_type class t, map::mapped_type compare="less," map::key_compare alloc="allocator&lt;pair"> // map::allocator_type &gt; 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] = &apos;Nikita&apos;; Employees[105] = &apos;John&apos;; Employees[103] = &apos;Dolly&apos;; Employees[104] = &apos;Deep&apos;; Employees[102] = &apos;Aman&apos;; cout &lt;&lt; &apos;Employees[104]=&apos; &lt;&lt; Employees[104] &lt;&lt; endl &lt;&lt; endl; cout &lt;&lt; &apos;Map size: &apos; &lt;&lt; Employees.size() &lt;&lt; endl; cout &lt;&lt; endl &lt;&lt; &apos;Natural Order:&apos; &lt;&lt; endl; for( map::iterator ii=Employees.begin(); ii!=Employees.end(); ++ii) { cout &lt;&lt; (*ii).first &lt;&lt; &apos;: &apos; &lt;&lt; (*ii).second &lt;&lt; endl; } cout &lt;&lt; endl &lt;&lt; &apos;Reverse Order:&apos; &lt;&lt; endl; for( map::reverse_iterator ii=Employees.rbegin(); ii!=Employees.rend(); ++ii) { cout &lt;&lt; (*ii).first &lt;&lt; &apos;: &apos; &lt;&lt; (*ii).second &lt;&lt; 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> للتحقق مما إذا كانت الخريطة الأولى أقل من أو تساوي الأخرى أم لا.
المشغل> التحقق مما إذا كانت الخريطة الأولى أكبر من غيرها أم لا.
المشغل>= التحقق مما إذا كانت الخريطة الأولى أكبر من تساوي الخريطة الأخرى أم لا.
تبديل() يتبادل عنصر خريطتين.