English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
C ++ set crendاستخدام الدالة لـالترتيب المعكوسيتمالمحولات الثابتةيذهب إلى نهاية المجموعة (العنصر التالي للعنصر الأخير). يشبه العنصر قبل الأول في المحول غير العكسي.
const_reverse_iterator crend() const noexcept; // بدءاً من C++ 11
لا يوجد
سيقوم بإرجاع const_reverse_iterator إلى العنصر التالي للعنصر الأخير في المحول العكسي.
لا يتغير.
لا يوجد تغيير.
المجموعة يتم زيارتها.
الوصول إلى عناصر المجموعة هو آمن.
هذه الدالة لن تسبب أي استثناءات.
دعونا نرى مثالاً بسيطاً لدالة crend()
#include <iostream> #include <set> using namespace std; int main () { set<int> myset = {40, 20, 50, 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
في المثال السابق، يتم استدعاء دالة crend() لتحويل محول الاستدعاء العكسي إلى العنصر التالي للعنصر الأخير في المجموعة العكسي.
بسبب أن set تخزن العناصر وفقًا للترتيب المرتب بالكلمات، فإن الاستدلال على set يؤدي إلى الترتيب المذكور أعلاه، وهو ترتيب الكلمات.
لنرى مثالاً بسيطاً لاستخدام دائرة while لاستكشاف التجميع بترتيب معكوس:
#include <iostream> #include <set> #include <string> #include <iterator> using namespace std; int main() { // إنشاء وتحديد مجموعة من الأحرف والعدادات set<string> setEx = {"ccc", "ddd", "aaa", "bbb"}; // إنشاء مروحة لـ set وتوجيهها إلى نهاية set set<string>::const_reverse_iterator it = setEx.crbegin(); // استخدامه لمروحة لاستكشاف التجميع حتى البداية. while (it != setEx.crend()) { // الوصول إلى المفتاح الذي يشير إليه من العنصر string word = *it; cout << word << endl; // زيادة مروحة لتحديد المدخل التالي it++; } return 0; }
الإخراج:
ddd ccc bbb aaa
في المثال السابق، استخدمنا دائرة while لتدوير التجميع بترتيب معكوس.
بسبب أن set تخزن العناصر وفقًا للترتيب المرتب بالكلمات، فإن الاستدلال على set يؤدي إلى الترتيب المذكور أعلاه، وهو ترتيب الكلمات.
لنرى مثالاً بسيطاً:
#include <iostream> #include <set> #include <algorithm> using namespace std; int main() { set<int> c = {3, 1, 2}; for_each(c.crbegin(), c.crend(), [](const int& x) { cout << x << endl; }); }
الإخراج:
3 2 1
في المثال السابق، عادت عناصر set بالترتيب المعكوس.
لنرى مثالاً بسيطاً لتصنيف و حساب أعلى النقاط:
#include <iostream> #include <string> #include <set> using namespace std; int main () { set<int> emp = {1000,2500,4500,1200,3000}; cout << "الراتب" << '\n'; cout<<"______________________\n"; set<int>::const_reverse_iterator rit; للدوران (rit=emp.crbegin(); rit eq emp.crend(); ++rit); cout << *rit << '\n'; auto ite = emp.crbegin(); cout << "\nأعلى راتب: " << *ite << " \n"; return 0; }
الإخراج:
الراتب ______________________ 4500 3000 2500 1200 1000 أعلى راتب: 4500
في المثال أعلاه، تم إنشاء مجموعة set تحتوي على معادلة emp، حيث يتم تخزين الراتب كключ. مما يتيح لنا استخدام وظيفة الترتيب التلقائي للراتب، وتحديد أقصى راتب.