Está en la página 1de 6

PILAS Una pila (stack), es una estructura de datos de tipo lista lineal en la cual la insercin y eliminacin de los elementos

o datos se realiza slo en un extremo, el cual es denominado cima o tope. Por ejemplo tenemos: una pila de libros, una pila de platos, una pila de ladrillos, etc.

Las operaciones bsicas de insertar o eliminar, se realizan aplicando el principio: ltimo en entrar, primero en salir (LIFO: Last In, First Out). Insertar o apilar (push o meter), se realiza en el extremo de la cima. Eliminar o desapilar (pop o sacar), se realiza tambin en el extremo de la cima.

cima

Mostrar, visualiza todos los datos de la pila o cul est en la cima. Verificar, si la pila est vaca. Si se hace un INSERTAR en una pila llena (isFull), es un error de desbordamiento (overflow), o pila llena. Si se hace un ELIMINAR en una pila vaca (isEmpty), es un error en el programa, de pila vaca (underflow). Buscar, si un elemento est en la pila. Aplicaciones: Las pilas son utilizadas para solucionar una amplia variedad de tareas: En la recursividad, para guardar informacin conforme se hacen las llamadas de la de la funcin recursiva. En el tratamiento de expresiones algebraicas, ejemplo: A + B C C B + A
UNSM: FISI: LP1-Ing. Humberto Valdera Rodrguez 2013

En los compiladores, sistemas operativos y en programas de aplicacin. En la llamada a subprogramas, guarda la direccin del programa principal o de los subprogramas desde donde se hizo la llamada a otros subprogramas para poder regresar y continuar ejecutndolo a partir de la instruccin inmediata a la llamada. . .. Subprograma C Z Subprograma B Y Subprograma A X Programa principal Direccin En los navegadores web, se almacenan los sitios previamente visitados. Cuando el usuario quiere regresar, presiona el botn de retroceso (back), simplemente se extrae la ltima direccin insertada de la pila de sitios visitados.

En los editores de texto, los cambios efectuados se almacenan en una pila, usualmente implementada como arreglo. El usuario puede deshacer (undo) los cambios la cual extrae el estado del texto antes del ltimo cambio realizado.

Implementacin: Las pilas se pueden implementar con arreglos o con listas enlazadas simples.

IMPLEMENTACIN DE PILAS CON ARREGLOS La pila se implementa con un arreglo de tamao fijo, a ste le llamaremos mximo. Al principio la pila est vaca, y el puntero de la pila llamada cima o tope est en cero. Ejemplo: pila mximo = 5 4 3 2 1 cima = 0 No se puede sacar datos de una pila vaca, ni mostrar datos. Al meter un elemento en la pila, se incrementa el puntero cima en una unidad.
UNSM: FISI: LP1-Ing. Humberto Valdera Rodrguez 2013

Al sacar un elemento de la pila, se decrementa el puntero cima en una unidad. pila mximo = 5 4 cima = 3 S 2 N 1 U La pila estar llena cuando cima = mximo, y el intento de introducir un elemento provocar un desbordamiento de la pila. pila mximo = cima = 5 T 4 M 3 S 2 N 1 U

UNSM: FISI: LP1-Ing. Humberto Valdera Rodrguez 2013

Algoritmos para el manejo de pilas con arreglos Men principal:

UNSM: FISI: LP1-Ing. Humberto Valdera Rodrguez 2013

Subprograma para insertar elementos en la pila:

Subprograma para eliminar elementos de la pila:

UNSM: FISI: LP1-Ing. Humberto Valdera Rodrguez 2013

Subprograma para mostrar elementos de la pila:

IMPLEMENTACIN DE PILAS CON LISTA ENLAZADA SIMPLE La pila se implementa con una lista enlazada simple, teniendo en cuenta las operaciones que se realizan con ella y las propiedades o principios de la pila.

UNSM: FISI: LP1-Ing. Humberto Valdera Rodrguez 2013

También podría gustarte