Está en la página 1de 10

ESTRUCTURA DE DATOS Pilas

DEFINICIN
Una pila es una estructura de datos homognea (elementos del mismo tipo), secuencial y de tamao variable. Slo es posible un modo de acceso a esta estructura: a travs de la cabeza de la pila. De este modo podemos aadir un elemento a la cabeza de la pila o extraer un elemento de la cabeza de la pila. Debido a que las operaciones de extraccin e insercin se realizan por el mismo extremo, el ltimo elemento en ser aadido ser el primero en ser extrado; por ello a estas estructuras se las conoce con el nombre de LIFO (last-in, first-out; ltimo en entrar, primero en salir).

La Pila

GESTIN DE MEMORIA GRAFICA

GESTIN DE MEMORIA DINMICA

Ejemplificaciones

Un ejemplo tpico de pila lo constituye un montn de platos: Cuando se quiere introducir un nuevo plato, ste se coloca en la posicin ms accesible, encima del ltimo plato. Cuando se toma un plato, ste se extrae, igualmente, del punto ms accesible, el ltimo que se ha introducido. O, si somos ms estrictos, otro ejemplo sera una caja llena de libros. Slo podemos ver cul es el libro que est ms arriba en la caja, y si ponemos o tomamos un libro, slo podremos actuar sobre este primer libro. No podemos siquiera saber el nmero total de libros guardados en la pila. Slo sabremos el nmero de elementos de la pila de libros si previamente los sacamos hasta vaciar la caja.

Ejemplificaciones
Otro ejemplo natural de la aplicacin de la estructura pila aparece durante la ejecucin de un programa de ordenador, en la forma en que la mquina procesa las llamadas a los procedimientos. Cada llamada a un procedimiento (o funcin) hace que el sistema almacene toda la informacin asociada con ese procedimiento (parmetros, variables, constantes, direccin de retorno, etc...) de forma independiente a otros procedimientos y permitiendo que unos procedimientos puedan invocar a otros distintos (o a si mismos) y que toda esa informacin almacenada pueda ser recuperada convenientemente cuando corresponda. Como en un procesador slo se puede estar ejecutando un procedimiento, esto quiere decir que slo es necesario que sean accesibles los datos de un procedimiento (el ltimo activado, el que est en la cima). De ah que una estructura muy apropiada para este fin sea la estructura pila.

Nodos o Axioma

Cada nodo ser una estructura en si mismo o registro que dispondr de varios campos, y al menos uno de esos campos ser un puntero o referencia a otro nodo, de forma que, conocido un nodo, a partir de esa referencia, ser posible en teora tener acceso a otros nodos de la estructura. Los nodos son herramientas esenciales para la construccin de estructuras de datos dinmicas.

Informacin

Puntero

Operaciones con Pila


Asociadas con la estructura pila existen una serie de operaciones necesarias para su manipulacin. stas son: Iniciacin de la estructura: - Crear la pila (CrearPila): La operacin de creacin de la pila inicia la pila como vaca. Operaciones para aadir y eliminar informacin: - Aadir elementos en la cima (Apilar): pondr un nuevo elemento en la parte superior de la pila. - Eliminar elementos de la cima (Desapilar): lo que har ser devolver el elemento superior de la cima y eliminarlo de la pila. - Operaciones para comprobar tanto la informacin contenida en la pila, como el propio estado de la cima: - Comprobar si la pila est vaca (PilaVacia): Esta operacin es necesaria para poder decidir si es posible eliminar elementos de la pila. - Acceder al elemento situado en la cima (CimaPila): Nos indica el valor del elemento situado en la parte superior de la pila. La especificacin correcta de todas estas operaciones permitir definir adecuadamente una pila.

Operaciones con Pila


Una declaracin ms formal de las operaciones definidas sobre la estructura de datos pila, y los axiomas que las relacionan podran ser las siguientes: Estructura Pila ( Valor ) /* Valor ser el tipo de datos que podremos guardar en la pila */ Operaciones CREAR_PILA ( ) Pila APILAR ( Pila , Valor ) Pila DESAPILAR ( Pila ) Pila CIMA_PILA ( Pila ) Valor PILA_VACIA ( Pila ) Lgico

También podría gustarte