Saltar al contenido

La documentación lo dice con su condición

La documentación de las colecciones de la biblioteca estándar de Rust marca los costos amortizados con un asterisco: agregar a un Vec es O(1)*. La de C++ dice que push_back tiene complejidad «constante amortizada». Ninguna promete que cada inserción sea constante.

Esa condición tiene consecuencias. Por eso las dos bibliotecas ofrecen una operación para reservar capacidad de antemano (reserve), útil cuando sabes cuántos valores vienen.

Aplícalo con números: reservar capacidad de antemano cambia cuántas copias se hacen.

Vas a agregar 1000 valores a un array dinámico vacío que duplica desde capacidad 1. ¿Cuántas copias hace sin reservar nada? ¿Y cuántas si antes reservas capacidad para 600?