typestar

Ordenar y buscar en Rust

Ordenar con un comparador, hallar extremos y buscar en un slice ordenado.

fn main() {
    let mut scores = vec![3.5, 1.25, 9.0, 4.75];
    scores.sort_by(|a, b| b.partial_cmp(a).unwrap());
    println!("{:?}", scores);

    let words = ["fig", "banana", "kiwi"];
    let longest = words.iter().max_by_key(|w| w.len());
    println!("{:?}", longest);

    let sorted = [1, 4, 9, 16, 25];
    println!("{:?}", sorted.binary_search(&9));
    println!("{:?}", sorted.binary_search(&10));
}

Cómo funciona

  1. sort_by toma un comparador; partial_cmp cubre los floats.
  2. max_by_key encuentra el mayor según un valor derivado.
  3. binary_search exige el slice ya ordenado.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
13
Caracteres a escribir
375
Tokens
143
Ritmo de tres estrellas
90 tpm

Al ritmo de tres estrellas de 90 tokens por minuto, este intento toma unos 95 segundos.

Escribe este fragmento

Paso 3 de 8 en Colecciones; paso 32 de 39 en Fundamentos del lenguaje.

← Anterior Siguiente →