Menu
Coddy logo textTech

Küme Oluşturma

Coddy'nin Swift Journey'sinin Mantık ve Akış bölümünün bir parçası — ders 18 / 56.

Bir Set, benzersiz değerlerden oluşan sırasız bir koleksiyondur. Her üye için aynı öğe türü, yinelenenlere izin verilmez, tahmin edilebilir bir yineleme sırası yoktur.

var colors: Set<String> = ["red", "green", "blue", "red"]
print(colors.count)              // 3 (yinelenen "red" atılır)

Set<String> tür belirteci literal formda zorunludur çünkü ["a", "b"] kendi başına bir Array olarak çıkarımlanacaktır.

Üç temel işlem: contains, insert ve remove. Son ikisi, değişikliğin anlamlı olup olmadığına dair bilgi döndürür.

colors.insert("yellow")         // ekler
colors.insert("red")            // zaten orada, etkisi yok
colors.contains("green")        // true
colors.remove("blue")           // "blue" döndürür veya eksikse nil döndürür

Bir diziden küme oluşturmak, tek adımda yinelenenleri kaldırır:

let unique = Set([1, 2, 2, 3, 3, 3])
// 3 öğe, kesin sıra garanti edilmez
challenge icon

Görev

Başlangıç

Tek bir satır girdi okuyun: virgülle ayrılmış kelimelerden oluşan bir liste (yinelenen kelimeler olabilir).

Üç satır yazdırın:

  1. Benzersiz kelimelerin sayısı (Set kullanın)
  2. Alfabetik olarak sıralanmış ve , ile birleştirilmiş benzersiz kelimeler
  3. Girdi swift kelimesini içerdiğinde true, aksi takdirde false (contains kullanın)

swift,ruby,go,swift,go,rust girdisi için çıktı şöyledir:

4
go,ruby,rust,swift
true

Kopya kağıdı

Set – benzersiz değerlerin sıralanmamış koleksiyonu. Dizi değişmezi (array literal) sözdizimi kullanılırken tür belirleme (type annotation) gereklidir:

var colors: Set<String> = ["red", "green", "blue", "red"]
print(colors.count) // 3 (kopya silindi)

Temel işlemler:

colors.insert("yellow")      // öğe ekler
colors.contains("green")     // true
colors.remove("blue")        // "blue" döner veya eksikse nil döner

Kopyaları temizlemek için bir diziden küme oluşturun:

let unique = Set([1, 2, 2, 3, 3, 3]) // 3 öğe

Kendin dene

let words = readLine()!.components(separatedBy: ",")

// TODO: Set ile tekilleştir, sayıyı yazdır, sıralanmış şekilde birleştir, "swift" içeriyor mu
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Mantık ve Akış bölümündeki tüm dersler