English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
C ++ مجموعة crbegin()الوظيفة تستخدم لتحويل مؤشر ثابت عكسي يشير إلى العنصر الأخير في صندوق المجموعة.
مرجع ثابت عكسي للمجموعة يتحرك إلى الوراء ويكبر حتى يصل إلى بداية صندوق المجموعة (العنصر الأول) ويشير إلىثابتالعنصر.
const_reverse_iterator crbegin() const noexcept; // منذ C++ 11
لا يوجد
هي تعود إلى مؤشر ثابت عكسي يشير إلى العنصر الأخير في المجموعة.
لا يوجد
هي تعود إلى مؤشر ثابت عكسي يشير إلى العنصر الأخير في الرسم البياني.
لا يتغير.
لا يوجد تغيير.
يتم الوصول إلى المحتويات.
الوصول إلى عناصر المجموعة في نفس الوقت آمن.
هذه الدالة لا ترفع استثناءً أبدًا.
لنرى مثالاً بسيطاً لدالة crbegin():
#include <iostream> #include <set> using namespace std; int main () { set<int> myset = {50,20,40,10,30}; cout << "myset بالترتيب المعكوس:"; for (auto rit = myset.crbegin(); rit != myset.crend(); ++rit) cout << ' ' << *rit; cout << '\n'; return 0; }
الإخراج:
myset بالترتيب المعكوس: 50 40 30 20 10
في المثال السابق، تم استخدام دالة crbegin() لتقديم مرجع إلى مسار عكسي ثابت، يشير إلى العنصر الأخير في مجموعة myset.
بما أن المجموعات تخزن العناصر وفقًا للترتيب المفتاحي، فإن تمرير المجموعة يؤدي إلى الترتيب المذكور أعلاه، وهو ترتيب المفاتيح.
نحنُ سنرى مثالاً بسيطاً، حيثُ نمرُ عبر المجموعة بترتيب معكوس باستخدام الدوال while:
#include <iostream> #include <set> #include <string> #include <iterator> using namespace std; int main() { // إنشاء وتحديد مجموعة من الأحرف & العدد set<string> setEx = {"bbb", "ccc", "aaa", "ddd"}; // إنشاء معادلة استدلال وتوجيهها إلى نهاية المجموعة const_reverse_iterator it = setEx.crbegin(); // تدوير الاستدلال في المجموعة حتى البداية while (it != setEx.crend()) { // الوصول إلى المفتاح الذي يشير إليه من العنصر string word = *it; cout << word << endl; // زيادة معادلة الاستدلال ليرشح العنصر التالي it++; } return 0; }
الإخراج:
ddd ccc bbb aaa
في المثال السابق، قمنا باستخدام دورة while لتدوير المجموعة باستخدام const_iterate بالترتيب العكسي، واستخدمنا دالة crbegin() لتعيين العنصر الأخير في المجموعة.
بما أن المجموعات تخزن العناصر وفقًا للترتيب المفتاحي، فإن تمرير المجموعة يؤدي إلى الترتيب المذكور أعلاه، وهو ترتيب المفاتيح.
دعنا نرى مثالاً بسيطاً للحصول على العنصر الأول في المجموعة العكسية:
#include <iostream> #include <string> #include <set> using namespace std; int main () { set<int> s1 = {20, 40, 10, 30}; auto ite = s1.crbegin(); cout << "العنصر الأول في المجموعة العكسية s1 هو: "; cout << *ite; return 0; }
الإخراج:
العنصر الأول في المجموعة العكسية s1 هو: 40
في المثال السابق، يعود crbegin() دالة إلى العنصر الأول في المجموعة العكسية s1، وهو 40.
دعنا نرى مثالاً بسيطاً لإجراء ترتيب وتحليل الأعلى نقاط:
#include <iostream> #include <string> #include <set> using namespace std; int main () { set<int> marks = {400, 220, 300, 250, 365}; cout << "Marks" << " | " << "Roll Number" << '\n'; cout << "______________________\n"; const_reverse_iterator rit; لـ (rit=marks.crbegin(); rit!=marks.crend(); ++rit) cout << *rit << '\n'; auto ite = marks.crbegin(); cout << "\nأعلى نتيجة هي: " << *ite << "\n"; return 0; }
الإخراج:
الدرجات | رقم الطالب ______________________ 400 365 300 250 220 أعلى نتيجة هي: 400
في الأمثلة أعلاه، تم تنفيذ علامة مجموعة، حيث يتم تخزين عناصر هذه المجموعة كمفاتيح. يجعلنا دالة crbegin() استخدام وظيفة الترتيب التلقائي للمجموعة، وتحديد أعلى نتيجة.