使用方法及示例" />



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

دروس الأساس في C++

C++ 流程控制

الوظائف المخصصة في C++

C++ 数组 & 字符串

C++ 数据结构

C ++ Class & Object

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

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

دروس STL في C++

دليل C ++

استخدام عميل C ++ std > مع امثلة

Set (الجمع) في C++

عميل >هي واحدة من عمليات C ++ setوظيفة تعميم غير عضوية. هذه الوظيفة تستخدم لتحقق ما إذا كانت المجموعة الأولى أكبر من المجموعات الأخرى.

ملاحظة:العمليات > مقارنة عناصر مجموعة بترتيب، والتحقق في أول عدم تطابق.

النحو

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

الم 参数

lhsالشكل الأول من المجموعة.

rhsالشكل الثاني من الكائن.

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

إذا كان الجانب الأيسر من كائن حاوي مجموعة أكبر من الجانب الأيمن من كائن حاوي مجموعة، فإنه يعود 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');
   if (m1 > m2)
      cout << \
   m1 = m2;
   if (!(m1 > m2))
      cout << \
   إرجاع 0;
}

الإخراج:

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

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

مثال 2

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

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

الإخراج:

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

مثال 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; 
}

الإخراج:

0
1

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

مثال 4

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

الإخراج:

1).
--------- تسجيل الدخول ----------
ادخل كلمة المرور: 
xyz@123
كلمة المرور التي أدخلتها: 
xyz@123
كلمات المرور المخزنة في النظام :
xyz@123
مرحبًا بك في صفحتك...
2).
--------- تسجيل الدخول ---------
ادخل كلمة المرور: 
abc@123
كلمة المرور التي أدخلتها: 
abc@123
كلمات المرور المخزنة في النظام:
xyz@123
كلمة المرور خاطئة...

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

Set (الجمع) في C++