English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
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:إعدادقائمةالبدء.
يستعيد قيمة بولية لتوضيح ما إذا كان الإدراج قد حدث، ويستعيد م迭代ر إلى العنصر المدرج الجديد.
دعونا نرى مثالاً بسيطاً على إدراج العناصر في 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
في المثال السابق، يتم إدراج عنصر يحتوي على زوج المفتاح القيمة المحدد.
دعونا نرى مثال بسيط على إدراج العناصر في موقع معين:
#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}.
دعونا نرى مثال بسيط على إدراج عناصر 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.
دعونا نرى مثال بسيط على إدراج العناصر.
#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.