Regístrate para acceder a más de 15 cursos gratuitos de programación con un simulador

Stack JS: Arrays

En programación, no solo nos preocupamos por cómo resolver un problema, sino también en cómo almacenar y organizar los datos para que el código sea eficiente y claro. Ahí es donde entran en juego las estructuras de datos.

¿Qué es una estructura de datos?

La estructura de datos es una forma específica de organizar y manipular información en la memoria de la computadora.

Algunas estructuras de datos permiten acceder rápidamente a los datos, mientras que otras pueden facilitar ciertas operaciones específicas.

Seguro que ya conoces al menos una estructura de datos: el array.

En JavaScript, el array es una colección de elementos a la que podemos acceder a través de índices numéricos.

Sin embargo, hay muchas más estructuras de datos, como:

  • Listas
  • Tablas hash
  • Árboles
  • Grafos
  • Pilas (stacks)
  • Colas (queues)

Cada una de ellas es útil en diferentes situaciones y ayuda a que nuestro código sea más eficiente.

Diferenciando conceptos clave

Para entender bien este tema, debemos diferenciar tres conceptos similares pero distintos:

Concepto Explicación
Estructura de datos Un método concreto para organizar y almacenar datos en la memoria.
Tipo de dato Una clasificación de los datos en un lenguaje de programación (por ejemplo, números, cadenas).
Tipo de dato abstracto (TDA) Un modelo teórico que describe cómo deben comportarse los datos, sin importar cómo se implementan en la práctica.
El tipo de dato abstracto(TDA) es una idea teórica. No dice cómo se implementa en la práctica, sino qué operaciones deben realizarse sobre él.

Un ejemplo clásico de TDA es la pila, que vamos a estudiar en esta lección.


¿Qué es una pila?

La pila (o stack en inglés) es una estructura de datos en la que solo podemos:

  • Agregar elementos (push)
  • Eliminar elementos (pop)
La clave de una pila es que funciona bajo el principio LIFO (Last In, First Out), que significa "el último en entrar es el primero en salir".

Pila

Ejemplo en la vida real

Imagina una pila de platos en un restaurante:

  1. Colocas un plato sobre la pila.
  2. Agregas otro plato encima.
  3. Para sacar un plato, solo puedes tomar el que está en la parte superior.

Así funciona una pila: el último que pusimos es el primero que sacamos.

Otro ejemplo común en informática es el historial del navegador. Cada página nueva que visitas se agrega a una pila. Cuando presionas el botón "Atrás", retrocedes a la última página añadida.


Pilas en la programación

En programación, las pilas se usan mucho. JavaScript, por ejemplo, usa una pila para ejecutar funciones:

  1. Llamamos una función.
  2. Esa función llama otra función.
  3. Esta historia sigue hasta llegar a la función más profunda.
  4. Las funciones empiezan a terminar en orden inverso.

Esto se conoce como pila de llamadas (call stack).


Operaciones en una pila

Trabajar con una pila implica las siguientes operaciones:

Operación Descripción
Push Agrega un elemento a la pila.
Pop Saca el último elemento agregado.
Peek Obtiene el último elemento sin sacarlo.
isEmpty Verifica si la pila está vacía.
Size Devuelve el número de elementos en la pila.

Implementando una pila en JavaScript

En JavaScript, podemos implementar una pila usando un array. Las operaciones push y pop ya están incluidas en los arrays.

const stack = [];

stack.push(3);
console.log(stack); // [3]
stack.push('Winterfall');
console.log(stack); // [3, 'Winterfall']
stack.push(true);
console.log(stack); // [3, 'Winterfall', true]

const element1 = stack.pop();
console.log(element1); // true
console.log(stack); // [3, 'Winterfall']

const element2 = stack.pop();
console.log(element2); // 'Winterfall'
console.log(stack); // [3]

Resumen

  • Una pila sigue el principio LIFO (Last In, First Out).
  • Las operaciones principales de una pila son push, pop, peek, isEmpty y size.
  • JavaScript permite implementar una pila usando arrays con push() y pop().
  • Las pilas se usan en la pila de llamadas, navegación del historial y problemas de balanceo de paréntesis.

¡Ahora tienes una buena base para entender las pilas y cómo usarlas en la programación!


Materiales adicionales

  1. Método push / MDN Web Docs
  2. Método pop / MDN Web Docs

Para acceder completo a curso necesitas un plan básico

El plan básico te dará acceso completo a todos los cursos, ejercicios y lecciones de Códica, proyectos y acceso de por vida a la teoría de las lecciones completadas. La suscripción se puede cancelar en cualquier momento.

Obtener acceso
130
cursos
1000
ejercicios
2000+
horas de teoría
3200
test

Obtén acceso

Cursos de programación para principiantes y desarrolladores experimentados. Comienza tu aprendizaje de forma gratuita

  • 130 cursos, 2000+ horas de teoría
  • 1000 ejercicios prácticos en el navegador
  • 360 000 estudiantes
Al enviar el formulario, aceptas el «Política de privacidad» y los términos de la «Oferta», y también aceptas los «Términos y condiciones de uso»

Nuestros graduados trabajan en empresas como:

Bookmate
Health Samurai
Dualboot
ABBYY