0Pricing
Swift Academy · درس

عمليات Set: الاتحاد والتقاطع والفرق

نفّذ جبر المجموعات واختبارات الانتماء بكفاءة

عمليات Set: الاتحاد والتقاطع والفرق درس مجاني في Swift Academy على CoddyKit. هذا هو الدرس 3 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Swift Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Swift Academy 4 دروس في المجموع.

مرحبًا

تخزّن `Set` قيمًا فريدة وغير مرتبة تطابق `Hashable`. وهي تدعم عمليات المجموعات الرياضية بكفاءة، مثل الاتحاد والتقاطع والفرق وغيرها.

إنشاء المجموعات

```swift var fruits: Set = ["apple","banana","cherry"] var inferred: Set = [1, 2, 3, 3, 2] // {1,2,3} — duplicates removed ``` تُكتب المجموعات مثل المصفوفات، لكن نوعها هو `Set`.

اختبار العضوية

```swift let primes: Set = [2,3,5,7,11] print(primes.contains(7)) // true — O(1) print(primes.contains(4)) // false ``` يُعد اختبار العضوية بتعقيد O(1) الميزة الأساسية لـ Set مقارنةً ببحث Array ذي التعقيد O(n).

الإدراج والإزالة

```swift var colors: Set = ["red","green"] colors.insert("blue") // {"red","green","blue"} colors.remove("green") // {"red","blue"} let (inserted,_) = colors.insert("red") // inserted = false (already there) ```

الاتحاد

```swift let a: Set = [1,2,3] let b: Set = [3,4,5] print(a.union(b)) // {1,2,3,4,5} var c = a c.formUnion(b) // mutates c in-place ```

التقاطع

```swift let a: Set = [1,2,3,4] let b: Set = [3,4,5,6] print(a.intersection(b)) // {3,4} print(a.isDisjoint(with: [7,8])) // true — no common elements ```

الطرح (الفرق)

```swift let all: Set = [1,2,3,4,5] let remove: Set = [2,4] let remaining = all.subtracting(remove) // {1,3,5} ```

الفرق المتماثل

```swift let x: Set = [1,2,3] let y: Set = [2,3,4] print(x.symmetricDifference(y)) // {1,4} — elements in one but not both ```

المجموعة الجزئية والمجموعة الفوقية

```swift let small: Set = [1,2] let large: Set = [1,2,3,4] print(small.isSubset(of: large)) // true print(large.isSuperset(of: small)) // true print(small == large) // false ```

التحويل بين Set وArray

```swift let arr = [1,2,2,3,3,3] let unique = Set(arr) // {1,2,3} let back = Array(unique).sorted() // [1,2,3] ``` نمط شائع: إزالة التكرارات من مصفوفة عبر تحويلها ذهابًا وإيابًا من خلال Set.

اختبار سريع

أي عملية على Set تُرجع العناصر الموجودة في **كلتا** المجموعتين فقط؟

مراجعة

أهم النقاط: • تخزّن المجموعات قيمًا فريدة من النوع `Hashable`، مع اختبار عضوية بتعقيد O(1) • `union` و`intersection` و`subtracting` و`symmetricDifference` • `isSubset` و`isSuperset` و`isDisjoint` • إزالة التكرارات من المصفوفات: `Set(array)` ثم التحويل مجددًا إلى `Array` • النسخ القابلة للتغيير: `formUnion` و`formIntersection` وغيرها التالي: اختيار نوع المجموعة المناسب.

الأسئلة الشائعة

هل درس «عمليات Set: الاتحاد والتقاطع والفرق» مجاني؟

نعم — نص درس «عمليات Set: الاتحاد والتقاطع والفرق» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Swift Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Swift Academy 4 دروس في المجموع.

ماذا ستتعلم في «عمليات Set: الاتحاد والتقاطع والفرق»؟

نفّذ جبر المجموعات واختبارات الانتماء بكفاءة تتمرن على Swift Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Swift Academy؟

لا تُشترط خبرة سابقة. Swift Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 4.

كم من الوقت يستغرق درس «عمليات Set: الاتحاد والتقاطع والفرق»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Swift Academy هذا؟

نعم. كل درس في Swift Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. عمليات CRUD على القواميس والوصول عبر Subscript
  2. تكرار القواميس وتحويلها
  3. عمليات Set: الاتحاد والتقاطع والفرق
  4. الاختيار بين Array وDictionary وSet
← العودة إلى Swift Academy