يتم تعيينه في C ++

تعيين (مجموعة) & nbsp؛ & mdash؛ إنها حاوية تقوم تلقائيًا بفرز العناصر المضافة بترتيب تصاعدي. ولكن عند إضافة قيم متطابقة ، فإن set ستخزن مثيلًا واحدًا فقط منها ( multiset & nbsp؛ - & nbsp؛ multiset- & nbsp؛ قد تحتوي على تكرارات). عند إضافة عنصر جديد إلى المجموعة ، فإنه يقع على الفور في مكانه حتى لا ينتهك ترتيب الفرز. & nbsp؛ & nbsp؛

يتم تحديد المجموعات في C ++ & nbsp؛ في مكتبة القوالب القياسية STL من خلال الفئة set (multiset) .

المجموعات & nbsp؛ عبارة عن أشجار ثنائية حمراء-سوداء. & nbsp؛ عمليات البحث والحذف والإدراج لها تعقيد لوغاريتمي.
& nbsp؛
لاستخدام المجموعات ، تحتاج إلى تضمين مكتبة & ldquo؛ set & rdquo: # تضمين العلامة & lt ؛ تعيين & GT.
إعلان المجموعة: تعيين & lt؛ int & gt؛ mySet ؛ // إعلان مجموعة فارغة. multiset & lt؛ int & gt؛ mySet ؛ // إعلان مجموعة multiset فارغة. نبسب ؛
وظائف للعمل مع مجموعة (مجموعة)
& nbsp؛
فارغ () - يتحقق من عدم وجود عناصر في الحاوية
& nbsp؛
size () - إرجاع عدد العناصر في الحاوية
& nbsp؛
clear () - مسح الحاوية
& nbsp؛
insert () - إدراج العناصر
& nbsp؛
erase () - يزيل العناصر
& nbsp؛
count () - إرجاع عدد العناصر المطابقة لمفتاح معين
& nbsp؛
find () - البحث عن عنصر بمفتاح محدد
& nbsp؛
lower_bound () - إرجاع مكرر للعنصر الأول بما لا يقل عن القيمة المحددة
& nbsp؛
upper_bound () - إرجاع مكرر للعنصر الأول أكبر من القيمة المحددة
& nbsp؛

نبسب ؛
مثال التعيين والمجموعة المتعددة # تضمين & lt؛ iostream & gt؛ # تضمين العلامة & lt ؛ تعيين & GT. استخدام اسم للمحطة؛ انت مين() { تعيين & lt؛ int & gt؛ mySet1 ؛ // أعلن مجموعة فارغة multiset & lt؛ int & gt؛ mySet2 ؛ // أعلن عن multiset فارغة // إضافة عناصر إلى المجموعة mySet1.insert (1) ؛ mySet1.insert (2) ؛ mySet1.insert (3) ، mySet1.insert (1) ؛ // إضافة عناصر إلى multiset mySet2.insert (1) ، mySet2.insert (2) ، mySet2.insert (3) ، mySet2.insert (1) ، تعيين & lt؛ int & gt؛ :: مكرره؛ // إنشاء مكرر لـ (it = mySet1.begin () ؛ it! = mySet1.end () ؛ it ++) {// عرض جميع العناصر كوت & lt؛ & lt؛ (* هو) العلامة & lt ؛ & lt ؛ & quot؛ & quot ؛؛ // مجموعات } كوت & lt؛ & lt؛ نهاية. لـ (it = mySet2.begin () ؛ it! = mySet2.end () ؛ it ++) {// إخراج جميع العناصر كوت & lt؛ & lt؛ (* هو) العلامة & lt ؛ & lt ؛ & quot؛ & quot ؛؛ // multisets } العودة 0 ؛ }

استخدام set & nbsp؛ مع المقارنة مثال للمقارن لإنشاء مجموعة مرتبة بترتيب تنازلي. هيكل cmp { عامل التشغيل المنطقي () (int a، int b) const { عودة و GT. ب؛ } } ؛
استخدام المقارنة عند إنشاء مجموعة . تعيين & lt ؛ int ، cmp & GT ؛ س؛