English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

دليل الأساسيات لمكتبة C++

تحكم العملية في C++

الوظائف في C++

مجموعات C++ و سلاسل الحروف

هياكل البيانات C++

فئات C++ و أوبجكتات

المراجع في C++

الوراثة في C++

دليل STL لمكتبة C++

دليل مرجعي C++

عمليات C++ std <= 使用方法及示例

Set (الجمع) في STL لمكتبة C++

C++ std عمليات <=هو مجموعة في لغة البرمجة C++دالة تحميل غير عضوية، ويستخدم هذا الدالة لتحقق ما إذا كانت المجموعة الأولى أصغر أو مساوية للمجموعة الأخرى.

ملاحظة: يتم مقارنة العناصر وفقًا للترتيب، وستتوقف المقارنة غير الصحيحة أولاً.

النحو

template<class T, class Compare, class Alloc>
  bool operator<= (const set<T, Compare, Alloc>& lhs,
                    const set<T, Compare, Alloc>& rhs);

الم 参数

lhs: الجانب الأيمن من set الأول.

rhs: الهدف الثاني.

القيمة المعدة

إذا كان الجانب الأيسر من كائن set أقل أو مساويًا للجانب الأيمن من كائن set، فسيتم العودة إلى true، وإلا سيتم العودة إلى false.

تعقيد

إذا كانت حجم lhs و rhs مختلفة، فإن التعقيد سيبقى ثابتًا.

إلا أن أطول الطول هو lhs و rhs.

صلاحية الم迭代ر

لا يوجد تغيير.

التنافس على البيانات

يمكن الوصول إلى محتويات الحاوية lhs و rhs.

زيارة عناصر المجموعة غير المحررة دائمًا آمنة.

الأمان من الناحية الاستثنائية

هذه الوظيفة لن تسبب استثناءً.

مثال 1

لننظر في مثال بسيط، لتحقق ما إذا كانت المجموعة الأولى أصغر أو مساوية:

#include <iostream>
#include <set>
using namespace std;
int main() {
   set<char> m1;
   set<char> m2;
   m1.emplace('a');
   m2.emplace('a');
   إذا (m1 <= m2)
      cout << "مجموعة m1 أصغر أو مساوية لمجموعة m2." << endl;
   m1.emplace('b');
   إذا (!(m1 <= m2))
      cout << "مجموعة m1 ليست أصغر أو مساوية لمجموعة m2." << endl;
   return 0;
}

الإخراج:

مجموعة m1 أصغر أو مساوية لمجموعة m2.
مجموعة m1 ليست أصغر أو مساوية لمجموعة m2.

في المثال السابق، هناك مجموعتين m1 و m2. تحتوي m1 و m2 على عنصر واحد. عند مقارنة المجموعتين، سيتم عرض رسالة "مجموعة m1 أصغر أو مساوية لمجموعة m2"، وسيتم عرض رسالة "مجموعة m1 ليست أصغر أو مساوية لمجموعة m2" عند إضافة عنصر إضافي إلى m1.

مثال 2

دعنا نرى مثالاً بسيطاً:

#include <set>  
#include <iostream>  
  
int main ()  
{  
   using namespace std;  
   set<int> m1, m2, m3, m4;  
   int i;  
  
   للأسفل (i = 1; i < 3; i++)  
   {  
      m1.insert(i);  
      m2.insert(i * i);  
      m3.insert(i - 1);  
      m4.insert(i);  
   }  
  
   إذا (m1 <= m2)  
      cout << "مجموعة m1 أصغر أو مساوية لمجموعة m2." << endl;  
   else  
      cout << "مجموعة m1 أكبر من مجموعة m2." << endl;  
  
   إذا (m1 <= m3)  
      cout << 
مجموعة m1 أقل أو تساوي مجموعة m3. << endl;  
   else  
      cout << 
مجموعة m1 أكبر من مجموعة m3. << endl;  
  
   if (m1 <= m4)  
      cout << 
مجموعة m1 أقل أو تساوي مجموعة m4. << endl;  
   else  
      cout << 
مجموعة m1 أكبر من مجموعة m4. << endl;  
}

الإخراج:

مجموعة m1 أقل أو تساوي مجموعة m2.
مجموعة m1 أكبر من مجموعة m3.
مجموعة m1 أقل أو تساوي مجموعة m4.

مثال 3

دعنا نرى مثالاً بسيطاً:

#include <iostream>
 #include <set>
 
 using namespace std;
int main () 
{ 
  set < int > s1 , s2; 
  s1 . insert (10); 
  s1 . insert (20); 
  s1 . insert (30); 
  s2 = s1;
  cout << (s1 <= s2) << endl;
  s1 . insert (40);
  cout << (s1 <= s2) << endl; 
}

الإخراج:

1
0

في المثال السابق، إذا كانت المجموعة s1 أقل أو تساوي s2، فإنها تعود 1، وإلا تعود 0.

مثال 4

#include <set>  
#include <iostream>  
using namespace std; 
  
int main ()  
{  
   set<string> m2;
   typedef set<string> login; 
   
   m2.insert("xyz@123"); // stored password
   
   string password;
   login m1;
   
       cout << "---------Login----------" << endl << endl;
       cout << 
ادخل كلمة المرور: 
;
       cin >> password; // Get value
       m1.insert(password); // Put them in set
     cout << 
كلمة المرور التي أدخلتها: 
;
     for (auto it = m1.begin(); it != m1.end(); it++) {
        cout << (*it) << endl;
      }
      cout << 
المكتبة المحفوظة كلمات المرور: 
;
     for (auto it = m2.begin(); it != m2.end(); it++) {
        cout << (*it) << endl;
     }
  
   if (m2 <= m1)  
        cout << 
مرحبًا بك في صفحتك... << endl; 
   else  
        cout << "\nكلمة المرور غير صحيحة..." << endl; 
      
      return 0;
}

الإخراج:

1).
---------Login----------
ادخل كلمة المرور: 
xyz@123
كلمة المرور التي أدخلتها: 
xyz@123
كلمات المرور المحفوظة في النظام :
xyz@123
مرحبًا بك في صفحتك...
2).
---------Login----------
ادخل كلمة المرور: 
abc@333
كلمة المرور التي أدخلتها: 
abc@333
كلمات المرور المحفوظة في النظام:
xyz@123
كلمة المرور غير صحيحة...

في المثال أعلاه، هناك مجموعتان m1 و m2. m1 تحتوي على كلمات المرور المحفوظة، المجموعة الثانية m2 تحتوي على كلمات المرور المدخلة من المستخدم. يتم التحقق مما إذا كانت m2 أقل أو تساوي m1. إذا كانت كلمة المرور m2 أقل أو تساوي m1، فإن عملية الدخول ناجحة، وإلا فإن عملية الدخول فاشلة.

Set (الجمع) في STL لمكتبة C++