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

تعليمية C++ الأساسية

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

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

مجموعات بيانات C++ & 字وعات

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

مفاهيم C++ & الكائنات

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

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

دليل STL C++

دليل C++

استخدام C++ set empty() مع مثال

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

C ++ empty()يهدف هذا الدالة إلى: فحص ما إذا كانت معينة حاوية فارغة. إذا كانت معينة حاوية فارغة (حجمها 0)، فتعود صحيح، وإلا تعود خطأ.

النحو

bool empty() const;               //حتى C++ 11
bool empty const noexcept;    //من بداية C++ 11

الم 参数

لا يوجد

قيمة العودة

يستعيدصحيحإذا كانت وعاء المجموعة فارغة (حجمها 0)، فعدا ذلكافتراض

معقد

لا يتغير.

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

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

تضارب البيانات

المعينة يتم زيارتها.

زيارة عناصر المجموعة في نفس الوقت آمنة.

أمان الاستثناء

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

مثال1

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

#include <set>
#include <iostream>
using namespace std;
int main()
{
    set<int> numbers;
    cout << " أولاً، numbers.empty (): " << numbers.empty() << "\n";
    numbers = {100، 200، 300};
    cout << "\n بعد إضافة العنصر، numbers.empty(): " << numbers.empty() << "\n";
}

الإخراج:

 في البداية، numbers.empty(): 1
بعد إضافة العنصر، numbers.empty(): 0

في المثال السابق، كان حجم المجموعة البدءي 0، لذا فإن دالة empty() تعود 1 (صحيح) بعد إضافة العنصر وتعود 0 (خطأ) بعد إضافة العنصر.

مثال2

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

#include <iostream>
#include <set>
using namespace std;
int main(void) {
   set<char> s;
   إذا (s.empty())
      cout << "المجموعة فارغة." << endl;
   s = {100};
   إذا (!s.empty())
      cout << "المجموعة ليست فارغة." << endl;
   return 0;
}

الإخراج:

المجموعة فارغة.
المجموعة ليست فارغة.

في المثال السابق، تم استخدام جملة شرطية if. إذا كانت المجموعة فارغة، فإنها تعود فارغة بعد إضافة العنصر; إذا كانت المجموعة فارغة، فإنها تعود غير فارغة بعد إضافة العنصر.

مثال3

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

#include <iostream>
#include <set>
using namespace std;
int main ()
{
  set<int> myset;
  myset = {100, 200, 300};
  while (!myset.empty())
  {
    cout << *myset.begin()<< '\n';
    myset.erase(*myset.begin());
  }
  return 0;
}

الإخراج:

100
200
300

في المثال السابق، تم استخدام دالة empty() داخل دائرة while فقط وتم طباعة عناصر المجموعة حتى تكون المجموعة غير فارغة.

مثال4

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

#include <iostream>
#include <set>
#include <string>
using namespace std;
int main() {
  typedef set<int> phoneSet;
   
   int number;
   phoneSet phone;
   
   إذا (phone.empty())
      cout << "المجموعة فارغة. يرجى إدراج محتوى! \n " << endl;
   
   cout<<"إدخال ثلاث مجموعات من الأرقام: \n";
   
   for(int i =0; i<3; i++)
   {
       cin>> number;    //الحصول على القيمة
       phone.insert(number);   //إدراج البيانات في المجموعة
   }
   إذا (!phone.empty())
   {
      cout"\nقائمة أرقام الهاتف: \n";
      phoneSet::iterator p;
      for(p = phone.begin(); p!=phone.end(); p++)
      {
          cout<<(*p)" \n ";
      }
   }
   return 0;
}

الإخراج:

المجموعة فارغة. يرجى إدخال المحتوى!
 
أدخل ثلاث مجموعات من الأرقام: 
1111
5555
3333
قائمة أرقام الهاتف: 
1111 
3333 
5555

في المثال أعلاه، يستخدم البرنامج أولاً ثلاث مجموعات من الأرقام لتكوين هاتف، ثم يتحقق مما إذا كان الهاتف فارغًا. إذا كانت المجموعة فارغة، يظهر رسالة، وإلا، يظهر جميع الأرقام المتاحة في الهاتف.

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