typestar

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

  1. sort.Slice recibe una clausura less sobre índices.
  2. Pasar a un segundo campo desempata.
  3. sort.Ints cubre el caso numérico simple.

Palabras clave y builtins usados aquí

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.

Escribe este fragmento

Paso 3 de 5 en Colecciones y texto; paso 11 de 26 en Biblioteca estándar y estructura del proyecto.

← Anterior Siguiente →