Published on

Swiftda Sets

Authors

Set β€” takrorlanmaydigan, noyob elementlar to'plamidir. Ya'ni set ichida bir xil element ikki marta bo'la olmaydi. Masalan,

Talabalar ID raqamlarini saqlamoqchi bo'lsak, ularning ID raqamlari takrorlanmasligi kerak. Shu sababli setdan foydalanish mumkin.

array

Set yaratish

Set yaratish misoli:

Swift
Set yaratish
// integer turidagi set yaratish var studentID : Set = [112, 114, 116, 118, 115] print("Student ID: \(studentID)")

Bu yerda:

var studentID : Set = [112, 114, 115, 118, 116]

Set kalit so'zi studentID o'zgaruvchisi set ekanligini bildiradi. Elementlar integer bo'lgani uchun Set<Int> tipiga mansub.

Quyidagicha turini aniq ko'rsatish ham mumkin:

var studentID : Set<Int> = [112, 114, 115, 116, 118]

Set tartibga ega emas, shuning uchun elementlar ekranga tartibsiz chiqishi mumkin.

Setga element qo'shish

insert() metodi setga yangi element qo'shadi.

Swift
insert() metodi
var numbers: Set = [21, 34, 54, 12] print("Initial Set: \(numbers)") numbers.insert(32) print("Updated Set: \(numbers)")

Setdan element o'chirish

remove() β€” berilgan elementni o'chiradi.

Swift
remove() metodi
var languages: Set = ["Swift", "Java", "Python"] print("Initial Set: \(languages)") let removedValue = languages.remove("Java") print("Set after remove(): \(languages)")

Boshqa metodlar:

  • removeFirst() β€” setdagi birinchi elementni o'chiradi
  • removeAll() β€” setdagi barcha elementlarni o'chiradi

Setning foydali metodlari

Oddiy ro'yxat ko'rinishida:

  • sorted() β€” elementlarni tartiblaydi
  • forEach() β€” har bir element uchun amal bajaradi
  • contains() β€” element mavjudligini tekshiradi
  • randomElement() β€” tasodifiy element qaytaradi
  • firstIndex() β€” element indeksini qaytaradi

Set elementlarini aylanish (Iteratsiya)

Swift
Set bo'ylab aylanish
let fruits: Set = ["Apple", "Peach", "Mango"] print("Fruits:") for fruit in fruits { print(fruit) }

Setdagi elementlar sonini aniqlash

Swift
count xususiyati
let evenNumbers: Set = [2,4,6,8] print("Set: \(evenNumbers)") print("Total Elements: \(evenNumbers.count)")

Set amallari

Swift setlar ustida matematik amallarni bajarish uchun maxsus metodlar taqdim etadi: union, intersection, subtracting, symmetricDifference.

1. Ikki Setning birlashmasi (Union)

A ⋃ B β€” ikkala setdagi barcha elementlar.

array
Swift
union() metodi
let setA: Set = [1, 3, 5] let setB: Set = [0, 2, 4] print("Union: ", setA.union(setB))

2. Ikki Setning kesishmasi (Intersection)

A β‹‚ B β€” ikkala setdagi umumiy elementlar. set
Swift
intersection() metodi
let setA: Set = [1, 3, 5] let setB: Set = [1, 2, 3] print("Intersection: ", setA.intersection(setB))

3. Ikki Setning ayirmasi (Difference)

A – B β€” A setdagi, B setda yo'q elementlar. set
Swift
subtracting() metodi
let setA: Set = [2, 3, 5] let setB: Set = [1, 2, 6] print("Subtraction: ", setA.subtracting(setB))

4. Simmetrik ayirma (Symmetric Difference)

A β–³ B β€” umumiy bo'lmagan elementlar. set
Swift
symmetricDifference() metodi
let setA: Set = [2, 3, 5] let setB: Set = [1, 2, 6] print("Symmetric Difference: ", setA.symmetricDifference(setB))

5. Setning Subset ekanligini tekshirish

Set B, set A ning subseti bo'ladi, agar B ning barcha elementlari A ichida mavjud bo'lsa. set
Swift
isSubset(of:) metodi
let setA: Set = [1, 2, 3, 5, 4] let setB: Set = [1, 2] print("Subset: ", setB.isSubset(of: setA))

Ikki Setning tengligini tekshirish

Swift
Set tengligini tekshirish
let setA: Set = [1, 3, 5] let setB: Set = [3, 5, 1] if setA == setB { print("Set A and Set B are equal") } else { print("Set A and Set B are different") }

Setlar tartibga ega bo'lmagani uchun tarkibi bir xil bo'lsa β€” ular teng hisoblanadi.

Bo'sh Set yaratish

Swift
Bo'sh set yaratish
var emptySet = Set<Int>() print("Set:", emptySet)

Bo'sh set yaratishda <Int>() β€” set faqat integer qiymatlar saqlashini bildiradi.


πŸ“š Masalalarni qanday yechish kerak?

βœ… Namuna: 1-masala yechimi

Masala: 1 dan n gacha sonlardan set yarating va elementlar sonini qaytaring.

Bosqichma-bosqich yechim:

1-qadam: Masalani tushunish

  • n = 5 β†’ set: [1, 2, 3, 4, 5] β†’ 5 element
  • n = 10 β†’ set: [1, 2, ..., 10] β†’ 10 element

2-qadam: Set yaratish

let numbers: Set = Set(1...n)
return numbers.count

3-qadam: To'liq yechim

Swift
1-masala yechimi
func solve(_ n: Int) -> Int { let numbers: Set = Set(1...n) return numbers.count } // Tekshirish print(solve(5)) // 5 print(solve(10)) // 10 print(solve(1)) // 1 print(solve(100)) // 100

Natija: Barcha testlar o'tadi βœ…

Izoh:

  • Set(1...n) β€” 1 dan n gacha sonlardan set yaratadi
  • numbers.count β€” setdagi elementlar sonini qaytaradi
  • Set noyob elementlar saqlaydi, shuning uchun n ta element bo'ladi

Xulosa

  • Set β€” noyob, takrorlanmaydigan elementlar to'plami
  • Tartibsiz β€” elementlar tartibi yo'q
  • insert() β€” element qo'shish
  • remove() β€” element o'chirish
  • union() β€” ikki set birlashmasi
  • intersection() β€” kesishma
  • subtracting() β€” ayirma
  • isSubset() β€” subset tekshirish
Buy mea coffee