Está en la página 1de 3

Pilas Una pila es un tipo especial de lista abierta en la que slo se pueden insertar y eliminar nodos en uno de los

extremos de la lista. Estas operaciones se conocen como "push" y "pop", respectivamente "empujar" y "tirar". Adems, las escrituras de datos siempre son inserciones de nodos, y las lecturas siempre eliminan el nodo ledo.

Estas caractersticas implican un comportamiento de lista LIFO (Last In First Out), el ltimo en entrar es el primero en salir. El smil del que deriva el nombre de la estructura es una pila de platos. Slo es posible aadir platos en la parte superior de la pila, y slo pueden tomarse del mismo extremo. El nodo tpico para construir pilas es el mismo que vimos en el captulo anterior para la construccin de listas:

1.- Recorrido Definicin: Ya que las pilas son LIFO(Last in - First Out) el Recorrido se hace sacando el ultimo dato que se inserto hasta que no encuentre ningn otro. Detalle: Apuntador toma el Top, despus ve si la condicin cumple para efectuar un Ciclo mientras Apuntador sea diferente de Nulo, si cumple lo que hace es que despliega el contenido de la Pila(Pila[Apuntador]), despus Apuntador se le resta 1. Este proceso se repite hasta que Apuntador sea igual Nulo(Cuando llega a este punto la Pila ya fue Recorrida). Algoritmo: Recorrido(Pila, Top) Apuntador - Top Fin del ciclo Salir

Diagrama:

Corrida: Push Definicin: Push es simplemente el mtodo por el cual va agregando un Dato nuevo a la Pila tomando en cuenta la Capacidad Mxima (Max) de almacenar un dato. Detalle: Compara en un principio el Top con Max, si la condicin no cumple es imposible insertar mas datos a la Pila, de otra forma lo que hace es Incrementar el valor de Top, y copia el valor de Elemento en Pila[Top]. De esta forma el dato ya esta insertado. Algoritmo: Push(Pila, Top, Max, Elemento) Si Top ≠ Max Top - Top + 1 Pila[Top] - Elemento Si no: Imprimir Pila Llena Salir

Una pila (stack en ingls) es una lista ordinal o estructura de datosen la que el modo de acceso a sus elementos es de tipo LIFO (del ingls Last In First Out, ltimo en entrar, primero en salir) que permite almacenar y recuperar datos. Esta estructura se aplica en multitud de ocasiones en el rea de informtica debido a su simplicidad y ordenacin implcita de la propia estructura. Para el manejo de los datos se cuenta con dos operaciones bsicas:apilar (push), que coloca un objeto en la pila, y su operacin inversa,retirar (o desapilar, pop), que retira el ltimo elemento apilado. En cada momento slo se tiene acceso a la parte superior de la pila, es decir, al ltimo objeto apilado (denominado TOS, Top of Stack en ingls). La operacin retirar permite la obtencin de este elemento, que es retirado de la pila permitiendo el acceso al siguiente (apilado con anterioridad), que pasa a ser el nuevo TOS. Por analoga con objetos cotidianos, una operacin apilar equivaldra a colocar un plato sobre una pila de platos, y una operacin retirar a retirarlo.

También podría gustarte