English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
map (المسار) في STL الخاص بـ C++
C ++ map find()يستخدم دالةالبحثالمحددمفتاح k العنصر. إذا تم العثور على العنصر، فإنها تعود بمؤشر إلى العنصر. وإلا، فإنها تعود بمؤشر إلى نهاية map، أي map :: end().
iterator find(const key_type& k); // قبل C++ 11 const_iterator find(const key_type& k) const; // بدءًا من C++ 11
k: مفتاح يحدد البحث في وعاء map.
إذا تم العثور على العنصر، فإنها تعود بمؤشر إلى العنصر. وإلا، فإنها تعود بمؤشر إلى نهاية map، أي map :: end().
لنرى مثالاً بسيطاً، البحث عن عنصر يحتوي على مفتاح معين.
#include <iostream> #include <map> using namespace std; int main(void) { map<char, int> m = { {'أ', 100}, {'ب', 200}, {'ج', 300}, {'د', 400}, {'إي', 500}, }; auto it = m.find('c'); cout << "مؤشر الدالة يشير إلى " << it->first << " << " << it->second << endl; return 0; }
الإخراج:
مؤشر الدالة يشير إلى c = 300
في المثال السابق، يعود دالة find() بالقيمة المحددة بكلي 'c'.
دعونا نرى مثالاً بسيطاً للبحث عن العنصر.
#include <iostream> #include <map> using namespace std; int main(void) { map<char, int> m = { {'أ', 100}, {'ب', 200}, {'ج', 300}, {'د', 400}, {'إي', 500}, }; auto هو = m.find('إي'); إذا (هو == m.end()) { cout << "لم يتم العثور على العنصر"; } else { // وجد العنصر cout << "مؤشر يشير إلى " << it->first << " = " << it->second << endl; } return 0; }
الإخراج:
مؤشر يشير إلى إي = 500
في المثال السابق، يتم استخدام دالة find() للبحث عن مفتاح e في حاوية map، إذا لم يتم العثور على مفتاح e في map، فإنه سيقوم بإرجاع رسالة لم يتم العثور عليها، وإلا سيقوم بعرض هذا المفتاح.
دعونا نرى مثالاً بسيطاً.
#include <iostream> #include <map> using namespace std; int main() { int n; map<int, char> example = {{1,'أ'},{2,'ب'},{3,'ج'},{4,'د'},{5,'إي'} }; cout << "أدخل العنصر الذي تريد البحث عنه: "; cin >> n; auto search = example.find(n); إذا (search != example.end()) { cout << n << " وجد، القيمة هي " << search->first << " = " << search->second << '\n'; } else { cout << n << " لم يتم العثور عليه\n"; } }
الإخراج:
أدخل العنصر الذي تريد البحث عنه: 5 5 وجد، القيمة هي 5 = إي
في المثال السابق، يتم استخدم دالة find() للبحث عن عنصر بناءً على المفتاح المقدم من المستخدم.
دعونا نرى مثالاً بسيطاً.
#include <iostream> #include <map> using namespace std; int main () { map<char, int> mymap; iterator <char, int> هو; mymap['أ'] = 50; mymap['ب'] = 100; mymap['ج'] = 150; mymap['د'] = 200; هو = mymap.find('ب'); إذا (هو != mymap.end()) mymap.erase (هو); cout << "عناصر mymap:" << '\n'; cout << "a => " << mymap.find('a')->second << '\n'; cout << "c => " << mymap.find('c')->second << '\n'; cout << "d => " << mymap.find('d')->second << '\n'; return 0; }
الإخراج:
عناصر mymap: a => 50 c => 150 d => 200