0Pricing
Go Academy · Ders

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ıralar
  • sort.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

  1. Dilimleri Sıralama
  2. Özel Sıralama Düzenleri
  3. Sıralı Verilerde Arama
  4. Kararlı Sıralama
← Go Academy Sayfasına Dön