English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Set (الجمع) في STL الخاصة بـ C++
C++ set rbegin()Function used to return a reference to the last element of the set containerReverse iterator.
set'sReverse iteratorMoves in the opposite direction and increments until it reaches the beginning of the set container (the first element).
reverse_iterator rbegin(); // Until C++ 11 const_reverse_iterator rbegin() const; // Until C++ 11 reverse_iterator rbegin() noexcept; // Starting from C++ 11 const_reverse_iterator rbegin() const noexcept; // Starting from C++ 11
لا يوجد
يستعيد مبرمج التكرار العكسي (reverse iterator) الذي يشير إلى العنصر الأخير في المجموعة.
لا يتغير.
لا يوجد تغيير.
يمكن الوصول إلى نسخة غير ثابتة أو نسخة ثابتة ولا يمكن تعديلها لا يمكن تعديل مجموعة من مكونات الحاوية. والوصول إلى عناصر المجموعة هو آمن.
هذه الدالة لن تسبب أي استثناء.
دعونا نرى مثالاً بسيطاً لدالة rbegin():
#include <iostream> #include <set> using namespace std; int main () { set<int> myset = {10, 50, 30, 40, 20}; // عرض المحتوى: cout << "العناصر هي: " << endl; set<int>::reverse_iterator rit; for (rit=myset.rbegin(); rit!=myset.rend(); ++rit) cout << *rit << '\n'; return 0; }
الإخراج:
العناصر هي: 50 40 30 20 10
في المثال السابق، استخدمت دالة rbegin() لتحويل مبرمج التكرار إلى العنصر الأخير في مجموعة myset.
لأن المجموعة تستخدم ترتيب الأصابع لتخزين العناصر، لذا عند تمرير المجموعة باستخدام الدوال المتكررة، سيتم الحصول على الترتيب التالي، وهو ترتيب الأصابع للключ.
دعونا نرى مثالاً بسيطاً لاستخدام دالة while لتمشيط المجموعة بشكل عكسي:
#include <iostream> #include <set> #include <string> #include <iterator> using namespace std; int main() { // إنشاء وتحديد مجموعة من النصوص set<string> setEx = {"aaa", "ccc", "ddd", "bbb"}; // إنشاء مبرمج تكرار لمجموعة يشير إلى نهاية المجموعة set<string, int>::reverse_iterator it = setEx.rbegin(); // تمرير مبرمج التكرار عبر المجموعة حتى البداية while (it != setEx.rend()) { // الوصول إلى KEY (المفتاح) من العنصر الذي يشير إليه string word = *it; cout << word << endl; // زيادة مبرمج التكرار ليشير إلى المدخل التالي it++; } return 0; }
الإخراج:
ddd ccc bbb aaa
في المثال السابق، قمنا بتكرار المجموعة بشكل عكسي باستخدام دالة while، واستخدمنا دالة rbegin() لتوليد العنصر الأخير في المجموعة.
لأن المجموعة تستخدم ترتيب الأصابع لتخزين العناصر، لذا عند تمرير المجموعة باستخدام الدوال المتكررة، سيتم الحصول على الترتيب التالي، وهو ترتيب الأصابع للключ.
دعونا نرى مثالاً بسيطاً للحصول على العنصر الأول للمجموعة العكسية:
#include <set> #include <iostream> int main( ) { using namespace std; set<int> s1; set<int>::iterator s1_Iter; set<int>::reverse_iterator s1_rIter; s1.insert(10); s1.insert(20); s1.insert(30); s1_rIter = s1.rbegin(); cout << "العنصر الأول في المجموعة المعكوسة هو " << *s1_rIter << "." << endl; // يمكن استخدام begin للبدء في التدوير // يمكن مرور المجموعة بالترتيب cout << "المجموعة هي:"; for (s1_Iter = s1.begin(); s1_Iter != s1.end(); s1_Iter++) cout << " " << *s1_Iter; cout << endl; // يمكن استخدام rbegin للبدء في التدوير // يمكن مرور المجموعة بالعكس cout << "المجموعة المعكوسة هي:"; for (s1_rIter = s1.rbegin(); s1_rIter != s1.rend(); s1_rIter++) cout << " " << *s1_rIter; cout << endl; // يمكن حذف العنصر عن طريق إزالة الإشارة إلى مفتاح عنصر المجموعة s1_rIter = s1.rbegin(); s1.erase(*s1_rIter); s1_rIter = s1.rbegin(); cout << "بعد الحذف، العنصر الأول " << "في المجموعة المعكوسة هي " << *s1_rIter << "." << endl; return 0; }
الإخراج:
العنصر الأول في المجموعة المعكوسة هو 30. المجموعة هي: 10 20 30 المجموعة المعكوسة هي: 30 20 10 بعد الحذف، العنصر الأول في المجموعة المعكوسة هو 20.
دعونا نرى مثالاً بسيطاً لترتيب وتحليل أعلى النقاط:
#include <iostream> #include <string> #include <set> using namespace std; int main () { set<int> marks = {400, 350, 465, 290, 410}; cout << "النقاط" << '\n'; cout << "______________________\n"; set<int>::reverse_iterator rit; لـ (rit=marks.rbegin(); rit!=marks.rend(); ++rit) cout << *rit << '\n'; auto ite = marks.rbegin(); cout << "\nأعلى الدرجات هي: " << *ite << " \n"; return 0; }
الإخراج:
النقاط ______________________ 465 410 400 350 290 أعلى الدرجات هي: 465
في الأمثلة أعلاه، تم تحقيق إعداد العلامة باستخدام العلامة كключ. مما يتيح لنا الاستفادة من ميزات تصنيف الأوتوماتيكي وتحديد أعلى الدرجات.