Índice

Pilas

1. Principio de las pilas

Pila

a. Modelo de datos pila

La pila es una lista que almacena de forma ordenada los elementos. Se puede realizar el símil con una pila de platos: los platos para lavar se apilan uno encima del otro a medida que van llegando. La persona que los lava los va cogiendo por arriba, lo que hace que el último en llegar sea el primero en lavarse. De igual modo, en una pila informática los elementos se añaden uno por uno según su orden de llegada y se retiran uno por uno partiendo del último que llegó, que se llama la cima de la pila.

images/06ri35.PNG

Es la regla de: último en entrar, primero en salir: LIFO (Last In First Out).

b. Implementación estática o dinámica

Desde el punto de vista de la implementación, una pila es una lista sencilla que solo permite inserciones y eliminaciones en la cabecera de la lista. Como sucede con las listas, se puede tener una pila dinámica bajo demanda con la ayuda de punteros o una pila en memoria contigua realizada según un tamaño predefinido al inicio con una tabla.

Asignación dinámica de memoria

Pila:asignación dinámica de memoria

Representación de una pila dinámica:

images/06ri36.PNG

Una pila dinámica no tiene tamaño máximo, excepto por la limitación de memoria RAM disponible.

Asignación contigua de memoria

Pila:asignación contigua de memoria

Representación de una pila contigua:

images/06ri37.PNG

El tamaño de una pila contigua requiere especificarse en un momento dado ...