Go podle Příkladů: Třídění

Go balíček slices implementuje třídění pro zabudované a uživatelsky definované typy. Nejdřív se podíváme na třídění zabudovaných typů.

package main
import (
    "fmt"
    "slices"
)
func main() {

Třídicí funkce jsou generické a fungují pro jakýkoli uspořádaný zabudovaný typ. Seznam uspořádaných typů najdete v cmp.Ordered.

    strs := []string{"c", "a", "b"}
    slices.Sort(strs)
    fmt.Println("Řetězce:", strs)

Příklad třídění intů.

    ints := []int{7, 2, 4}
    slices.Sort(ints)
    fmt.Println("Inty:   ", ints)

Balíček slices můžeme také použít pro kontrolu, jestli je výřez už v setříděném pořadí.

    s := slices.IsSorted(ints)
    fmt.Println("Setříděný: ", s)
}
$ go run sorting.go
Řetězce: [a b c]
Inty:    [2 4 7]
Setříděný:  true

Další příklad: Třídění s funkcemi.