Ordenamiento en Go
Ordenar slices con una función less propia.
type Player struct {
Name string
Score int
}
func rank(players []Player) {
sort.Slice(players, func(i, j int) bool {
if players[i].Score != players[j].Score {
return players[i].Score > players[j].Score
}
return players[i].Name < players[j].Name
})
}
func sortNumbers(nums []int) {
sort.Ints(nums)
}
Cómo funciona
sort.Slicerecibe una clausura less sobre índices.- Pasar a un segundo campo desempata.
sort.Intscubre el caso numérico simple.
Palabras clave y builtins usados aquí
boolfuncifintreturnstringstructtype
El intento, en números
- Líneas
- 17
- Caracteres a escribir
- 301
- Tokens
- 96
- Ritmo de tres estrellas
- 105 tpm
Al ritmo de tres estrellas de 105 tokens por minuto, este intento toma unos 55 segundos.
Paso 3 de 5 en Colecciones y texto; paso 11 de 26 en Biblioteca estándar y estructura del proyecto.