Le Go par l'exemple: Tri

Le package sort implémente le tri pour les type de base et ceux définis par l’utilisateur. Regardons d’abord le tri pour les types du langage.

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

Les méthodes de tri sont spécifiques à un type ; voici un exemple pour les chaines de caractères. A noter que le tri se fait sur place, donc la slice fournie est modifiée et la fonction n’en renvoit pas une nouvelle.

    strs := []string{"c", "a", "b"}
    sort.Strings(strs)
    fmt.Println("Strings:", strs)

Un exemple de tri sur les int.

    ints := []int{7, 2, 4}
    sort.Ints(ints)
    fmt.Println("Ints:   ", ints)

On peut également utiliser sort pour tester si une slice est déjà triée.

    s := sort.IntsAreSorted(ints)
    fmt.Println("Sorted: ", s)
}

Exécuter notre programme affiche les slices de string et d’int triée, puis true comme résultat de notre test AreSorted.

$ go run sorting.go
Strings: [a b c]
Ints:    [2 4 7]
Sorted:  true

Exemple suivant: Tri par des fonctions.