Dilimleri Sıralama
sort.Slice ve yardımcılarını kullanın
Dilimleri Sıralama, CoddyKit'te ücretsiz bir Go Academy dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Go Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Go Academy kursu toplamda 4 dersten oluşur.
Sıralama Neden Önemlidir
Sıralama, öğeleri belirli bir düzene koyar. Go'nun standart kitaplığındaki sort paketi bunu verimli bir şekilde gerçekleştirir.
Go'da kendi sıralama algoritmanızı nadiren yazarsınız. Bunun yerine dilimler üzerinde çalışan yardımcıları çağırırsınız.
sort Paketini İçeri Aktarma
Paketi kullanmak için import "sort" ile içeri aktarın. Standart kitaplıkta bulunduğundan harici bir indirme gerekmez.
package main
import (
"fmt"
"sort"
)
func main() {
fmt.Println("sort imported")
_ = sort.IntsAreSorted([]int{1, 2, 3})
}Tam Sayıları Sıralama
sort.Ints, int dilimini yerinde ve artan düzende sıralar. Özgün dilim değiştirilir.
package main
import (
"fmt"
"sort"
)
func main() {
nums := []int{5, 2, 8, 1, 9}
sort.Ints(nums)
fmt.Println(nums)
}Dizeleri Sıralama
sort.Strings, dizelerden oluşan bir dilimi sözlükbilimsel olarak (alfabetik, bayt sırasına göre) sıralar.
package main
import (
"fmt"
"sort"
)
func main() {
words := []string{"banana", "apple", "cherry"}
sort.Strings(words)
fmt.Println(words)
}Ondalık Sayıları Sıralama
sort.Float64s, float64 değerlerinden oluşan bir dilimi artan düzende sıralar.
package main
import (
"fmt"
"sort"
)
func main() {
values := []float64{3.2, 1.5, 2.8}
sort.Float64s(values)
fmt.Println(values)
}sort.Slice
sort.Slice, sağladığınız bir küçük olma işlevini kullanarak her türden dilimi sıralar. İşlev iki dizin, i ve j, alır ve i öğesinin j öğesinden önce gelmesi gerekiyorsa true döndürür.
package main
import (
"fmt"
"sort"
)
func main() {
nums := []int{5, 2, 8, 1}
sort.Slice(nums, func(i, j int) bool {
return nums[i] < nums[j]
})
fmt.Println(nums)
}Azalan Düzen
Azalan düzende sıralamak için küçük olma işlevindeki karşılaştırmayı tersine çevirin: nums[i] > nums[j] döndürün.
package main
import (
"fmt"
"sort"
)
func main() {
nums := []int{5, 2, 8, 1}
sort.Slice(nums, func(i, j int) bool {
return nums[i] > nums[j]
})
fmt.Println(nums)
}Yapıları Sıralama
sort.Slice, yapı türleriyle özellikle kullanışlıdır. Düzeni hangi alanın belirleyeceğine siz karar verirsiniz.
package main
import (
"fmt"
"sort"
)
type Person struct {
Name string
Age int
}
func main() {
people := []Person{{"Bob", 30}, {"Alice", 25}}
sort.Slice(people, func(i, j int) bool {
return people[i].Age < people[j].Age
})
fmt.Println(people)
}Sıralanmış Olup Olmadığını Denetleme
sort.IntsAreSorted ve sort.SliceIsSorted gibi yardımcılar, bir dilimi değiştirmeden zaten sıralanmışsa true döndürür.
package main
import (
"fmt"
"sort"
)
func main() {
nums := []int{1, 2, 3}
fmt.Println(sort.IntsAreSorted(nums))
}Yerinde Değiştirme
Tüm bu işlevler yerinde sıralama yapar. Yeni bir dilim döndürmezler. sort.Ints(s) çağrısından sonra s değişkeninin kendisi yeniden düzenlenmiş olur.
package main
import (
"fmt"
"sort"
)
func main() {
s := []int{3, 1, 2}
sort.Ints(s)
fmt.Println("s is now:", s)
}Doğru Yardımcıyı Seçme
Basit dilimler için türü belli yardımcıları (sort.Ints, sort.Strings, sort.Float64s) kullanın. Özel bir kurala ihtiyaç duyduğunuzda veya yapı türlerini sıralarken sort.Slice kullanın.
sort.Ints- tam sayıları artan düzende sıralarsort.Slice- her şeyi kendi kuralınıza göre sıralar
Kısa Kontrol
sort.Slice içindeki küçük olma işlevi ne döndürür?
Özet
sort paketiyle sıralama yapmayı öğrendiniz:
- Türü belli dilimler için
sort.Ints,sort.Strings,sort.Float64s - Özel kurallar ve yapı türleri için küçük olma işleviyle
sort.Slice - Tüm sıralama işlemleri yerinde gerçekleşir
Sıkça Sorulan Sorular
“Dilimleri Sıralama” dersi ücretsiz mi?
Evet — “Dilimleri Sıralama” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Go Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Go Academy kursu toplamda 4 dersten oluşur.
“Dilimleri Sıralama” dersinde ne öğreneceğim?
sort.Slice ve yardımcılarını kullanın Go Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Go Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Go Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.
“Dilimleri Sıralama” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Go Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Go Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Dilimleri Sıralama
- Özel Sıralama Düzenleri
- Sıralı Verilerde Arama
- Kararlı Sıralama