Pila
En informática, una pila es una estructura de datos que se utiliza para almacenar una colección de objetos. Los elementos individuales se pueden agregar y almacenar en una pila mediante una operación push. Los objetos se pueden recuperar mediante una operación pop, que elimina un elemento de la pila.
Cuando se agrega un objeto a una pila, se coloca encima de todos los elementos introducidos anteriormente. Cuando se elimina un elemento, se puede quitar de la parte superior o inferior de la pila. Una pila en la que los elementos se eliminan de la parte superior se considera una pila «LIFO» (Last In, First Out). Puede imaginar una pila LIFO como una baraja de cartas en la que coloca cartas individuales sobre el mazo y luego las toma de la parte superior. En una pila «FIFO» (First In, First Out), los elementos se eliminan de la parte inferior. Puede imaginar una pila FIFO como una fila en una máquina expendedora, donde los artículos se entregan en el orden en que se colocaron en la máquina.
Las pilas tienen varias aplicaciones en la programación informática. Por ejemplo, las pilas LIFO se pueden utilizar para recuperar objetos usados recientemente de una caché. Las pilas FIFO se pueden utilizar para garantizar que los datos se recuperen en el orden en que se introdujeron, lo que puede servir para procesar datos en una cola.
Aunque los programadores de software utilizan pilas con frecuencia, normalmente no las notará mientras utiliza un programa. Esto se debe a que la creación de pilas y las operaciones push y pop se realizan en segundo plano mientras se ejecuta una aplicación y no son visibles para el usuario. Sin embargo, si una pila se queda sin memoria, se producirá un «desbordamiento de pila». Si el programa no lo gestiona correctamente, un desbordamiento de pila puede generar un mensaje de error o hacer que el programa se bloquee.
NOTE: El término «pila» también puede referirse a una pila de protocolos, que consta de varios protocolos de red que funcionan conjuntamente. Cada protocolo se clasifica en una de las siete capas diferentes definidas en el modelo OSI.
Pon a prueba tu conocimiento