English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

دليل الأساسيات C++

تحكم C ++ في العملية

وظيفة C++

مفاهيم C ++ للنصوص & الحروف

مفاهيم C ++ للبنية البيانية

مفاهيم C ++ & الأشخاص

المؤشرات C++

التركة C++

دليل STL C++

دليل مرجع C ++

استخدام وظيفة insert() في C ++ map و مثال

map (المعين) STL C++

C ++ map insert()الوظيفة تستخدم في mapإدراج عنصر جديد.

بسبب أن مفتاح العنصر في map هومفردلذا يجب على عملية الإدراج التحقق أولاً من وجود المفتاح المحدد في map، إذا كان المفتاح موجودًا بالفعل في map، فإنه لن يتم إدراجه في map، وستنتقل البادئة إلى المفتاح الموجود مسبقًا، وإلا سيتم إدراج عنصر جديد في map.

النحو

الوحدة  (1)  pair<iterator,bool>  insert (const value_type&  val);  // قبل C++ 11
بإشارة(2) مؤشر إدراج(مؤشرposition،القيمةالنوع& val);		//قبلC++11
النطاق(3)	 نموذج <class مؤشرالإدخال>
  		   إدراج(void إدراج(مؤشرالإدخالfirst،مؤشرالإدخالlast));		//قبلC++11
عنصروحيد(1)		pair<مؤشر،بولية> إدراج(const القيمةالنوع& val);
		  نموذج <class P> زوج<مؤشر،بولية> إدراج(P&& val);		//منC++11
            
بإشارة(2) مؤشر إدراج(const مؤشرposition،القيمةالنوع& val);
		   نموذج <class P> مؤشر إدراج(const مؤشر،P&& val);
النطاق(3)	 نموذج <class مؤشرالإدخال>
  		   إدراج(void إدراج(مؤشرالإدخالfirst،مؤشرالإدخالlast));		//منC++11
قائمةالبداية(4)	إدراج(void إدراج(قائمةالبداية<نوعالقيمة> il));		//منC++11

المتغيرات

val:المفتاحوالقيمةالإدراجالفي map.

position:الإشارةإلىموضعالإدراجالعنصر.

first:بدايةالنطاقالإدراج.

last:نهايةالنطاقالإدراج.

il:إعدادقائمةالبدء.

القيمةالمنقولة

يستعيد قيمة بولية لتوضيح ما إذا كان الإدراج قد حدث، ويستعيد م迭代ر إلى العنصر المدرج الجديد.

مثال1

دعونا نرى مثالاً بسيطاً على إدراج العناصر في map.

#include <iostream>
#include <map>
using namespace std;
int main() {
   map<char, int> m = {
            {'a', 1},
            {'b', 2},
            {'c', 3},
            };
   //إدراجعنصرجديد
   m.إدراج(زوج<حرف،عدد>('d', 4));
   m.إدراج(زوج<حرف،عدد>('e', 5));
   cout << "Map يحتوي على العناصر التالية" << endl;
   for (auto it = m.begin(); it != m.end(); ++it)
      cout << it->first << " = " << it->second << endl;
   return 0;
}

الإخراج:

يحتوي Map على العناصر التالية
a = 1
b = 2
c = 3
d = 4
e = 5

في المثال السابق، يتم إدراج عنصر يحتوي على زوج المفتاح القيمة المحدد.

مثال 2

دعونا نرى مثال بسيط على إدراج العناصر في موقع معين:

#include <iostream>
#include <map>
using namespace std;
int main(void) {
   map<char, int> m = {
            {'b', 2},
            {'c', 3},
            {'d', 4},
            };
   // إدراج العناصر في الموقع المحدد
   m.insert(m.begin(), pair<char, int>('a', 1));  
   m.insert(m.end(), pair<char, int>('e', 5));
   cout << "Map يحتوي على العناصر التالية" << endl;
   for (auto it = m.begin(); it != m.end(); ++it)
      cout << it->first << " = " << it->second << endl;
   return 0;
}

الإخراج:

يحتوي Map على العناصر التالية
a = 1
b = 2
c = 3
d = 4
e = 5

في المثال السابق، يتم إدراج العناصر في المواقع المحددة، وهي في العنصر البدءي {'a', 1} وإدراج العنصر في العنصر النهائي {'e', 5}.

مثال 3

دعونا نرى مثال بسيط على إدراج عناصر map في map آخر.

#include <iostream>
#include <map>
using namespace std;
int main() {
   
   map<char, int> m1 = {
            {'a', 1},
            {'b', 2},
            {'c', 3},
            {'d', 4},
            {'e', 5},
            };
   map<char, int> m2; // إنشاء حاوية map جديدة m2
   m2.insert(m1.begin(), m1.end()); // إدراج عناصر m1 في m2 من البداية إلى النهاية
   cout << "Map يحتوي على العناصر التالية" << endl;
   for (auto it = m2.begin(); it != m2.end(); ++it){
     cout << it->first << " = " << it->second << endl;
   }     
   return 0;
}

الإخراج:

يحتوي Map على العناصر التالية
a = 1
b = 2
c = 3
d = 4
e = 5

في المثال السابق، يحتوي حاوية map m1 على خمس عناصر، بينما يحتوي حاوية map m2 على فارغة. يتم استخدام دالة insert() لإنشاء عناصر من m1 من البداية إلى النهاية في m2، وعرض محتويات حاوية m2.

مثال 4

دعونا نرى مثال بسيط على إدراج العناصر.

#include <iostream>
#include <map>
using namespace std;
int main(void) {
   map<int, string> m = {
            {1, "Java"},
            {2, "C++"},
            {3, "SQL"},
            };
   m.ادخل({{4,"VB"}, {5, "Oracle"}});
   cout << "Map يحتوي على العناصر التالية" << endl;
   for (auto it = m.begin(); it != m.end(); ++it){
    cout << it->first << " : " << it->second << endl;
   }    
   return 0;
}

الإخراج:

يحتوي Map على العناصر التالية
1: Java
2: C++
3: SQL
4: VB
5: Oracle

في المثال أعلاه، تم استخدام شكل آخر من وظيفة insert() لتحديد العناصر في map.

map (المعين) STL C++