تعتبر المجموعات أحد أنواع هياكل البيانات التي تمثل التجسيد المباشر للكيانات الرياضية في علوم الكمبيوتر. غالبًا ما تكمن العمليات معهم وراء خوارزميات مختلفة. لغات البرمجة المختلفة لها وسائلها الخاصة لوصف المجموعات.
ضروري
- - بيئة التطوير ؛
- - مترجم من لغة البرمجة المختارة.
تعليمات
الخطوة 1
صف المجموعة باستخدام لغة البرمجة ، إن وجدت. على سبيل المثال ، في لغة باسكال هناك بنية مجموعة تسمح لك بتعريف الأنواع المقابلة. صحيح ، يجب ألا يتجاوز حجم هذه المجموعات 256 عنصرًا. قد يبدو مثال على تعريفات نوع المجموعة كما يلي:
اكتب
AZLetters = مجموعة من 'A'.. 'Z' ؛
AllLetters = مجموعة أحرف ؛
يتم التصريح عن المتغيرات والثوابت من الأنواع التي هي مجموعات بالطريقة المعتادة. في هذه الحالة ، يمكن استخدام القيم الحرفية المحددة للتهيئة. فمثلا:
مقدار ثابت
LettersSet1: AZLetters = ['A'، 'B'، 'C']؛
الخطوة 2
استخدم قدرات المكتبات القياسية أو الوحدات النمطية لوصف المجموعات. لذلك ، مكتبة قوالب C ++ ، التي يجب أن يتم توفيرها مع المترجم ، تتضمن نموذجًا لفئة حاوية المجموعة التي تنفذ وظائف المجموعات:
نموذج <
مفتاح الفصل
الصفات الصفية = أقل ،
مخصص الفئة = مخصص
مجموعة الصف
كما ترى من القائمة ، فإن وسيطات قالب المجموعة هي: نوع البيانات لعناصر المجموعة ، ونوع الكائن الوظيفي لتحديد ترتيب العناصر في المجموعة ، ونوع مخصص الذاكرة. في هذه الحالة ، تكون الوسيطة الأولى فقط مطلوبة (مثل الوسيطتين الأخريين ، المسند الثنائي القياسي أقل ويتم استخدام المخصص القياسي افتراضيًا).
الخطوه 3
قم بتطبيق الفئات أو قوالب الفصل المستخدمة في تطوير الأطر التي تنفذ وظيفة العمل مع المجموعات ، إن وجدت. مثال على هذه الأداة هو فئة قالب QSet لوحدة QtCore في مكتبة Qt. تتشابه قدراته مع قدرات حاوية مجموعة STL الموصوفة في الخطوة السابقة.
الخطوة 4
صف المجموعة باستخدام وسائل التنفيذ الخاصة بك. استخدم علامات البت ، المخزنة في مصفوفات ذات طول ثابت ، لمجموعات من العناصر ذات الأنواع البسيطة والأحجام الصغيرة. تطبيق فئة حاوية مجموعة لأنواع البيانات المعقدة. كأساس ، يمكنك أن تأخذ وظيفة المصفوفات الترابطية أو التجزئة الترابطية. ويمكن ، بدوره ، أن يُبنى على أساس أشجار البحث الثنائية ذاتية التوازن (على سبيل المثال ، الأشجار ذات اللون الأحمر والأسود).