Descargar

    1. Diseño de pilas
    2. Aplicaciones de las pilas
    3. Llamadas a subprogramas

    Una pila (stack) es un tipo especial de lista lineal en la que la inserción y borrado de nuevos elementos se realiza sólo por un extremo que se denomina cima o tope (top).

    Dado que las operaciones de insertar y eliminar se realizan por un solo extremo (el superior), los elementos solo pueden eliminarse en orden inverso al que se inserta en la pila.

    El último elemento que se pone en la pila es el primero que se puede sacar; por ello, a estas estructuras se le conoce por el nombre de LIFO (last-in, first-out, último en entrar, primero en salir).

    Las pilas se pueden representar en cualquiera de las tres formas:

    Para ver el gráfico seleccione la opción "Descargar" del menú superior

     Las operaciones más usuales asociadas a las pilas son:

    Push meter o poner: operación de insertar un elemento en la pila;

    Pop sacar o quitar: operación de eliminar un elemento de la pila;

    Diseño de pilas

    P = CIMA puntero de la pila

    VACIA función booleana "pila vacía"

    PUSH subprograma para añadir, poner o insertar elementos

    POP subprograma para eliminar o quitar elementos

    LONGMAX longitud máxima de la pila

    S (i) elemento i-eximo de la pila S

    X elemento a añadir / quitar de la pila

    Diseño de una pila

    Algoritmo de una pila

    Var PILA: array [1..LONGMAX] de enteros

    Función VACÍA { subprograma función VACÍA}

    Inicio

    Si p = 0

    Entonces VACIA = cierto

    Sino : VACIA = falso

    Finsi

    V = VACIA

    Fin

    {procedimiento METER (PUSH)}

    procedimiento METER

    Inicio

    Si P = LONGMAX

    entonces

    escribir "error en METER"

    escribir "desbordamiento de la pila"

    Sino

    P = P + 1

    S(P) = X

    Finsi

    Fin

    Procedimiento SACAR

    Inicio

    Si VACIA {invocación a la función VACIA}

    Entonces

    Escribir "error en SACAR"

    Escribir "pila vacía"

    Sino

    X = S(P)

    P = P – 1

    Finsi

    Fin

    Aplicaciones de las pilas

    Las pilas son utilizadas ampliamente para solucionar una amplia variedad de problemas. Se utiliza en compiladores, sistemas operativos y en programas de aplicación.

    Llamadas a subprogramas

    Cuando dentro de un programa se realizan llamadas a subprogramas el programa principal debe recordar el lugar donde se hizo la llamada, de modo que pueda retornar allí cuando el programa se haya terminado de ejecutar

    Para ver el gráfico seleccione la opción ¨Descargar trabajo¨ del menú superior

    Héctor Estigarribia