0Pricing
Learn Rust Coding · Lección

Aumentar y reducir el tamaño

Inserte, elimine y cambie el tamaño

Aumentar y reducir el tamaño es una lección gratuita de Learn Rust Coding en CoddyKit. Esta es la lección 3 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Learn Rust Coding, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Learn Rust Coding incluye 4 lecciones en total.

Los vectores pueden cambiar de tamaño

Una característica clave de los vectores es que pueden cambiar de tamaño durante la ejecución. Puede añadir elementos cuando tenga más datos y eliminarlos cuando ya no los necesite.

Cualquier cambio de tamaño requiere que el vector se declare como mut.

Crecer con push

El método push añade un solo elemento al final y hace crecer el vector en uno. Es la forma más habitual de hacerlo crecer.

A continuación, el vector crece de una longitud de 0 a una longitud de 3.

fn main() {
    let mut v = Vec::new();
    v.push("a");
    v.push("b");
    v.push("c");
    println!("len = {}", v.len());
}

Eliminar con pop

El método pop elimina y devuelve el último elemento envuelto en un Option. Normalmente obtiene Some(value), o None si el vector ya estaba vacío.

Esto reduce el vector en un elemento.

fn main() {
    let mut v = vec![1, 2, 3];
    let last = v.pop();
    println!("popped {:?}", last);
    println!("now {:?}", v);
}

Insertar en el centro

El método insert coloca un valor en un índice determinado y desplaza los elementos posteriores hacia la derecha. El índice debe estar entre 0 y la longitud actual, ambos incluidos.

Aquí insertamos 99 en la posición 1.

fn main() {
    let mut v = vec![10, 20, 30];
    v.insert(1, 99);
    println!("{:?}", v);
}

Eliminar por índice

El método remove elimina el elemento de un índice, lo devuelve y desplaza los elementos posteriores hacia la izquierda para cubrir el hueco.

Tenga cuidado: eliminar un índice que no existe provoca un pánico.

fn main() {
    let mut v = vec![10, 20, 30];
    let gone = v.remove(0);
    println!("removed {}", gone);
    println!("{:?}", v);
}

Eliminación rápida con swap_remove

Cuando el orden no importa, swap_remove es más rápido. Mueve el último elemento a la posición eliminada en lugar de desplazar todos los demás.

Esto cambia el orden, pero evita el coste del desplazamiento.

fn main() {
    let mut v = vec![1, 2, 3, 4];
    let x = v.swap_remove(0);
    println!("took {}", x);
    println!("{:?}", v);
}

Eliminarlo todo

El método clear elimina todos los elementos de una vez y deja un vector vacío con longitud 0. El vector conserva su capacidad asignada para reutilizarla.

Resulta práctico cuando quiere volver a llenar un vector desde cero.

fn main() {
    let mut v = vec![1, 2, 3];
    v.clear();
    println!("empty? {}", v.is_empty());
}

Truncar hasta una longitud

El método truncate acorta un vector hasta una longitud elegida eliminando los elementos sobrantes del final. Si el vector ya es más corto, no ocurre nada.

Aquí conservamos solo los dos primeros elementos.

fn main() {
    let mut v = vec![1, 2, 3, 4, 5];
    v.truncate(2);
    println!("{:?}", v);
}

Unir con extend

El método extend añade todos los elementos de otra colección. Es como llamar a push para cada elemento, pero en un solo paso.

A continuación, se añade una segunda lista al final de la primera.

fn main() {
    let mut v = vec![1, 2];
    v.extend(vec![3, 4, 5]);
    println!("{:?}", v);
}

Conservar solo algunos con retain

El método retain conserva únicamente los elementos que superan una prueba y elimina el resto directamente. Debe proporcionarle un cierre que devuelva un bool.

Aquí conservamos solo los números pares.

fn main() {
    let mut v = vec![1, 2, 3, 4, 5, 6];
    v.retain(|n| n % 2 == 0);
    println!("{:?}", v);
}

Ordenar elementos

El método sort reordena los elementos de menor a mayor directamente. No cambia la longitud, solo la disposición.

Para ordenar, el vector debe ser mut.

fn main() {
    let mut v = vec![3, 1, 4, 1, 5];
    v.sort();
    println!("{:?}", v);
}

Comprobación rápida

Compruebe su comprensión de cómo hacer crecer y reducir vectores.

Resumen

Ha hecho crecer vectores con push, insert y extend, y los ha reducido con pop, remove, swap_remove, clear y truncate.

También ha filtrado con retain y ordenado con sort. A continuación, aprenderá a almacenar structs dentro de vectores.

Preguntas frecuentes

¿La lección «Aumentar y reducir el tamaño» es gratis?

Sí — el texto completo de «Aumentar y reducir el tamaño» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Learn Rust Coding, actualiza a CoddyKit PRO. El curso de Learn Rust Coding incluye 4 lecciones en total.

¿Qué aprenderé en «Aumentar y reducir el tamaño»?

Inserte, elimine y cambie el tamaño Practicas Learn Rust Coding con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Learn Rust Coding?

No se requiere experiencia previa. Learn Rust Coding en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 4.

¿Cuánto tiempo toma la lección «Aumentar y reducir el tamaño»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Learn Rust Coding?

Sí. Cada lección de Learn Rust Coding incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Crear y rellenar vectores
  2. Indexar e iterar
  3. Aumentar y reducir el tamaño
  4. Vectores de structs
← Volver a Learn Rust Coding