AD

¿Ya dominas lo básico? Un curso estructurado de R es la vía rápida para dar el salto.

Ver cursos de R en Udemy

Enlace de afiliado. No te cuesta nada extra.

📊Lecciones de R
Lección 30 / 68

Pilas y colas (estructuras de datos básicas)

En esta lección usarás dos formas clásicas de guardar cosas en espera.

Una pila saca el último que entró; una cola, el primero. En R ambas se improvisan con un vector: se añade con c(v, x) y se saca del final o del principio con corchetes negativos.

El código de ejemplo mete dos elementos en cada una y saca uno, para que se vea la diferencia.

Hay que ser consciente de que esta implementación es ineficiente, y no por poco. Cada c(v, x) copia el vector entero, así que construir una pila de diez mil elementos hace diez mil copias. Es la razón de que un bucle que va acumulando resultados en un vector sea tan lento en R.

La forma correcta cuando el tamaño se conoce es reservar el espacio de antemano con vector("numeric", n) y escribir en cada posición. Cuando no se conoce, se acumula en una lista y se junta al final con unlist.

Para colas de verdad existen paquetes específicos, aunque en la práctica el trabajo en R rara vez las necesita: casi todo se resuelve operando sobre el vector completo.

📖 Código de referencia
✍️ Tu código
Escribe tu código y pulsa «Ejecutar»

🧪 Este sitio no puede compilar ni ejecutar R directamente, así que comprueba al instante si lo que escribiste coincide con el código de referencia (la corrección ocurre por completo en tu navegador; no se envía nada a ningún servidor).

🔗 El mismo tema en otros lenguajes

Mira cómo se escribe lo mismo en otro lenguaje.

Espacio publicitario (banner)
Espacio publicitario (en el artículo)