Estructura de datos en la que el último elemento añadido es el primero en salir.
Como una pila de platos: el último puesto es el primero en quitarse. Opuesto a FIFO (colas).
// LIFO - Pila (Stack) class PilaLIFO<T> { private elementos: T[] = []; // Agregar arriba push(item: T): void { this.elementos.push(item); } // Sacar de arriba pop(): T | undefined { return this.elementos.pop(); } // Ver el de arriba sin sacarlo peek(): T | undefined { return this.elementos[this.elementos.length - 1]; } } // Ejemplo: Historial de navegación (botón atrás) const historial = new PilaLIFO<string>(); historial.push('/inicio'); historial.push('/productos'); historial.push('/producto/123'); // Usuario presiona "atrás" historial.pop(); // '/producto/123' (sale) historial.peek(); // '/productos' (página actual) // Ejemplo: Deshacer (Ctrl+Z) const acciones = new PilaLIFO<string>(); acciones.push('escribir A'); acciones.push('escribir B'); acciones.pop(); // Deshace "escribir B"