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