93 lines
		
	
	
		
			4.1 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			93 lines
		
	
	
		
			4.1 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
|   | --- | ||
|  | title: Set | ||
|  | localeTitle: جلس | ||
|  | --- | ||
|  | يتم تعريف بنية مجموعة البيانات في c ++ بنفس الطريقة التي يتم تحديدها في سياق الرياضيات. | ||
|  | 
 | ||
|  | بشكل أكثر رسمية ، المجموعات هي نوع من الحاويات الترابطية التي يجب أن يكون كل عنصر فيها فريدًا. | ||
|  | 
 | ||
|  | *   لا يمكن تعديل قيمة العنصر بمجرد إدخاله ، على الرغم من أن حذف عنصر وإدخال عنصر جديد مسموح به ، بنفس الطريقة التي نقوم بها في الرياضيات. | ||
|  | *   يمكن استخدام هيكل مجموعة البيانات للنموذج ، جيدًا ، يحدد نفسه. يصبح من السهل العثور على التقاطعات والنقابات وما إلى ذلك. | ||
|  | *   مشابه للمتجه ، ولكن يتم السماح فقط بالقيم الفريدة. | ||
|  | *   تقوم المجموعة بترتيب العناصر بترتيب متزايد عندما تقوم بإدراج عناصر في المجموعة. | ||
|  | 
 | ||
|  | يتم تعيين ملف الرأس المطلوب لاستخدام بنية البيانات المحددة. أي ، يجب `#include<set>` في التعليمات البرمجية الخاصة بك لكي تتمكن من استخدام بنية البيانات المحددة. | ||
|  | 
 | ||
|  | **نصيحة للمحترفين** : - استخدم `#include<bits/stdc++.h>` لتضمين جميع هياكل وبيانات C ++ بدلاً من إضافتها واحدة تلو الأخرى.   | ||
|  | بعض الوظائف التي يمكن القيام بها مع مجموعة: - | ||
|  | 
 | ||
|  | 1.  start () - إرجاع مكرر إلى العنصر الأول في المجموعة | ||
|  | 2.  end () - إرجاع مكرر إلى العنصر النظري الذي يتبع العنصر الأخير في المجموعة | ||
|  | 3.  size () - لعرض عدد العناصر في المجموعة | ||
|  | 4.  max\_size () - لعرض الحد الأقصى لعدد العناصر التي يمكن أن تحتويها المجموعة | ||
|  | 5.  empty () - إرجاع ما إذا كانت المجموعة فارغة | ||
|  | 6.  محو (const g) - يزيل القيمة "g" من المجموعة | ||
|  | 7.  clear () - يزيل كل العناصر من المجموعة | ||
|  | 
 | ||
|  | دعونا ننظر على سبيل المثال :- | ||
|  | 
 | ||
|  |  `#include <iostream>  | ||
|  |  #include <set>  | ||
|  |  #include <iterator>  | ||
|  |   | ||
|  |  using namespace std;  | ||
|  |  int main()  | ||
|  |  {  | ||
|  |     set <int> myset;   //an empty set container. Note that size of the set need not be declared, similar to vector.  | ||
|  |   | ||
|  |     // insert elements in random order  | ||
|  |     myset.insert(65);  | ||
|  |     myset.insert(30);  | ||
|  |     myset.insert(80);  | ||
|  |     myset.insert(20);  | ||
|  |     myset.insert(9);  | ||
|  |     myset.insert(9); // only one 9 will be added to the list.  | ||
|  |   | ||
|  |   | ||
|  |     // printing set myset  | ||
|  |     set <int> :: iterator itr; //an iterator is like a pointer.  | ||
|  |     cout << "\nThe contents of myset : ";  | ||
|  |     for (itr = myset.begin(); itr != myset.end(); ++itr)  | ||
|  |     {  | ||
|  |         cout << '\t' << *itr;  | ||
|  |     }  | ||
|  |     cout << endl;  | ||
|  |   | ||
|  |   | ||
|  |     // remove all elements up to 65 in myset from the beginning:-  | ||
|  |     cout << "\nContents of myset after removal of elements less than 30 : ";  | ||
|  |     myset.erase(myset.begin(), myset.find(30));  | ||
|  |     for (itr = myset.begin(); itr != myset.end(); ++itr)  | ||
|  |     {  | ||
|  |         cout << '\t' << *itr;  | ||
|  |     }  | ||
|  |   | ||
|  |     // remove element with value 50 in myset  | ||
|  |   | ||
|  |     int num = myset.erase(80); //returns true (and deletes) if 80 is there in the list else returns 0.  | ||
|  |     cout<<"\n\n After doing myset.erase(80), "<<num<<" element is removed\n\n";  | ||
|  |     cout<<"Contents of the modified set:\t";  | ||
|  |     for (itr = myset.begin(); itr != myset.end(); ++itr)  | ||
|  |     {  | ||
|  |         cout << '\t' << *itr;  | ||
|  |     }  | ||
|  |   | ||
|  |     cout << endl;  | ||
|  |   | ||
|  |   | ||
|  |     return 0;  | ||
|  |   | ||
|  |  }  | ||
|  | `  | ||
|  | 
 | ||
|  | \`\` \`حزب الشعب الكمبودي انتاج:- محتويات myset: 9 20 30 65 80 | ||
|  | 
 | ||
|  | محتويات myset بعد إزالة العناصر أقل من 30: 30 65 80 | ||
|  | 
 | ||
|  | بعد القيام بـ myset.erase (80) ، تتم إزالة عنصر واحد | ||
|  | 
 | ||
|  | محتويات المجموعة المعدلة: 30 65 \`\` \` | ||
|  | 
 | ||
|  | \### المصادر | ||
|  | 
 | ||
|  | 1.  [المهوسون المهوسون](https://www.geeksforgeeks.org/set-in-cpp-stl/) |