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

دليل الأساسيات لـ C++

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

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

مقدمة إلى مصفوفات C++ و 字وائن

مقدمة إلى بيانات C++

فئات C++ و أjectives

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

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

دليل STL لـ C++

دليل مرجع C++

استخدام دالة max_size() في C++ set و مثال

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

C++ max_size()يستخدم هذا الدالة للحصول على أكبر حجم يمكن أن يحتويه مستودع المجموعة.

النحو

نوع العضوsize_typeهي نوع عدد غير سالب.

size_type max_size() const; // قبل C++ 11
size_type max_size() const noexcept; // من C++ 11

المعدل

لا يوجد

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

يعيد هذا الإعداد أطول طول مستودع المجموعة المسموح به.

معقد

لا يتغير.

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

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

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

يتم زيارة الكونترولر.

زيارة عناصر المجموعة آمنة.

أمان استثناء

لا يمكن أن يسبب هذا العضو استثناءً.

مثال 1

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

#include 
#include 
using namespace std;
 
int main()
{
    set<char, char> s;
    cout << "أكبر حجم مجموعة set هو" << s.max_size() << "\n";
    return 0;
}

الإخراج:

 أكبر حجم مجموعة set هو 268435455

في المثال السابق، يعود دالة max_size() إلى أكبر حجم مجموعة.

مثال 2

让我们看一个简单的实例:

#include 
#include 
using namespace std;
int main ()
{
  int i;
  set<int> myset;
  if (myset.max_size()>1000)
  {
    for (i=0; i<1000; i++) myset.insert(0);
    cout << "该集合包含1000个元素。\n";
  }
  else cout << "该集合不能容纳1000个元素。\n";
  return 0;
}

الإخراج:

该集合包含1000个元素。

在上面的示例中,成员max_size用于预先检查该集合是否允许插入1000个元素。

实例3

让我们看一个简单的示例,查找一个空集和一个非空集的最大大小:

#include 
#include 
using namespace std;
 
int main()
{
 
    // 初始化容器
    set mp1, mp2;
    mp1 = {1111};
 
    // 非空集的最大大小
    cout << "mp1的最大大小为 " << mp1.max_size();
 
    // 最大空集大小
    cout << "\nmp2的最大大小为 " << mp2.max_size();
    return 0;
}

الإخراج:

mp1的最大大小为 214748364
mp2的最大大小为 214748364

在上面的示例中,有两组集合,即mp1和mp2。mp1是一个非空集,mp2是一个空集。但是两组的最大大小是相同的。

实例4

让我们看一个简单的实例:

#include 
#include 
#include 
using namespace std;
int main() {
  typedef set city;  
   string name;
   city fmly ;
   int n;
   cout<<"输入家庭成员的数量 :";
   cin>>n;
   cout<<"输入每个成员的姓名: \n";
   for(int i =0; i> name;      
       
   }
   
      cout << "\nعدد السكان الكلي للمدينة:\" << fmly.max_size();
      cout << "\nعدد أفراد الأسرة:\
      cout << "\nأسماء أفراد الأسرة:\n";
      cout << "\nاسم\n\t________________________\n";
      city::iterator p;
      لـ(p = fmly.begin(); p != fmly.end(); p++)
      {
          cout << (*p) << " \n ";
      }
    
   return 0;
}

الإخراج:

إدخال عدد أفراد العائلة:5
إدخال اسم كل عضو من أفراد العائلة:
Zhang San
Zhang Si
Li Si
Wang Wu
Li Ma Zi
عدد السكان الإجمالي للمدينة: 97612893
عدد أفراد العائلة الإجمالي:5
اسم أفراد العائلة:
الاسم
 ________________________
Li Ma Zi
 Li Si
 Wang Wu
 Zhang San
 Zhang Si

في الأمثلة أعلاه، يبدأ البرنامج في إنشاء مجموعة من المدن بشكل تفاعلي بناءً على الحجم المحدد أولاً. ثم، سيُظهر الحجم الإجمالي للمجموعة، والحجم الإجمالي للمدينة الصغيرة، بالإضافة إلى جميع الأسماء المتاحة في المجموعة وأعمارها.

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