¿Qué significa pila?
Una pila es un concepto lógico que consiste en un conjunto de elementos similares. El término se utiliza a menudo en programación y organización de memoria en ordenadores.
Las pilas de programación se basan en el principio de último en entrar, primero en salir (LIFO), un tipo de resumen de datos muy utilizado que consta de dos operaciones principales, push y pop.
La operación push añade un elemento a la parte inferior de la pila, mientras que la operación pop elimina un elemento de la posición superior.
Las implementaciones de software del concepto de pila se realizan utilizando matrices y listas enlazadas en las que la posición superior se rastrea utilizando una variable o un puntero de cabecera, respectivamente.
Muchos lenguajes de programación ofrecen funciones incorporadas para soportar la implementación de la pila.
En tecnología de la información y la comunicación (TIC), los tipos de pilas más conocidos son:
- Pilas de software: Componentes de programación que trabajan juntos para soportar la ejecución de una aplicación. LAMP (Linux, Apache, MYSQL, Perl o PHP o Python) es una popular pila de software.
- Pilas completas: Todas las tecnologías y habilidades front-end y back-end que apoyan un objetivo informático.
- Pilas de protocolos: Reglas de interconectividad para un modelo de red por capas como TCP/IP u Interconexión de Sistemas Abiertos (OSI). Para convertirse en una pila, los protocolos deben ser interoperables verticalmente entre las capas de la red y horizontalmente entre los puntos finales de cada segmento de transmisión.
Definición de pila
En programación, una pila es un búfer que se utiliza para almacenar temporalmente peticiones. Este tipo de pila tiene un fondo delimitado y todas las operaciones se realizan en la posición superior.
Cada vez que se añade un elemento a la pila mediante la operación push, el valor superior se incrementa en uno, y cuando se saca un elemento de la pila, el valor superior se decrementa en uno. Un puntero a la posición superior de la pila también se conoce como puntero de pila.
Las pilas pueden ser de tamaño fijo o dinámico. Los registros de pila se utilizan para almacenar el valor del puntero de pila.
En el caso de pilas de capacidad limitada, intentar añadir un elemento a una pila ya llena provoca una excepción de desbordamiento de pila. Del mismo modo, una condición en la que una operación pop intenta eliminar un elemento de una pila ya vacía se conoce como desbordamiento.
Una pila se considera una estructura de datos restringida, ya que sólo se permite un número limitado de operaciones. Además de las operaciones push y pop, ciertas implementaciones pueden permitir operaciones avanzadas como:
- Mirar – Ver el elemento superior de la pila.
- Duplicar – Copiar el valor del elemento superior en una variable y volver a introducirlo en la pila.
- Intercambiar – Intercambia los dos elementos superiores de la pila.
- Girar – Mueve los elementos superiores de la pila como especifique un número o muévelos de forma giratoria.