lunes, 1 de octubre de 2012

3.1.3 OPERACIONES CON PILAS



La definición de una estructura de datos queda completa al incluir las operaciones que se pueden realizar en ella. Para el caso de las pilas, las operaciones básicas que se pueden. Llevar a cabo son:

* Insertar un elemento (Push) en la pila
* Eliminar un elemento (Pop) de la pila

Y las operaciones auxiliares:

* Pila vacía
* Pila llena


3.1.3.1 Pila Vacía.

Es una operación auxiliar para verificar que si una PILA esta vacía para poder insertar un nuevo elemento.
Este algoritmo verifica si una estructura tipo pila está vacía, asignando a BAND el valor de verdad correspondiente. La pila se implementa en un arreglo unidimensional. TOPE es un parámetro de tipo entero. BAND es un parámetro de tipo booleano
Pila_vacía (PILA, TOPE, BAND)
Si (TOPE = 0) (Verifica si no hay elementos almacenados en la pila)
Entonces
Hacer  BAND VERDADERO  (La pila está vacía)
Si no
Hacer BAND FALSO  (La pila no está vacía)
Fin Si

3.1.3.2 Pila Llena

Es una operación auxiliar para validar que una pila no se encuentre llena antes de insertar un valor y/o para validar que no se dé el error de desbordamiento.
Este algoritmo verifica si una estructura tipo pila está llena, asignando a BAND el valor de verdad correspondiente. La pila se implementa en un arreglo unidimensional de MAX elementos. TOPE es un parámetro de tipo entero. BAND es un parámetro de tipo booleano.
Pila_llena (PILA, TOPE, MAX, BAND)
Si (TOPE = MAX)
      Entonces
               Hacer BAND   VERDADERO (La pila está llena)
        Si no
               Hacer BAND   FALSO (La pila no está llena)
Fin Si

 
3.1.3.3 Poner elemento (Push)

Este algoritmo agrega el elemento DATO en una estructura tipo – Pila –, y si la misma no está llena. Actualiza el valor TOPE. MAX representa el número máximo de elementos que puede alcanzar PILA. TOPE es un parámetro de tipo entero
Push (PILA, TOPE, MAX, DATO)
Llamar a Pila_llena (PILA, TOPE, MAX, BAND)
Si (BAND  VERDADERO)
       Entonces
               Escribir “Desbordamiento – Pila Llena”
       Si no
               Hacer TOPE <- TOPE + 1 y PILA [TOPE]  DATO
                (Actualiza TOPE e inserta el nuevo elemento en el TOPE de PILA)
Fin Si
3.1.3.3 Quitar elemento (Pop)
Este algoritmo saca un elemento – Dato – de una estructura tipo pila – PILA –, si ésta no se encuentra vacía. El elemento que se elimina es que se encuentra en la posición indicada por TOPE
 Llamar a Pila_vacía (PILA, TOPE, BAND)
Si (BAND  VERDADERO)
     Entonces
               Escribir “Subdesbordamiento – Pila vacía”
     Si no
                Hacer DATO  PILA [TOPE] y TOPE -1 (Actualización de TOPE)
Fin Si




3.1.4 Aplicaciones de PILAS.

Las pilas son unas EDs muy usadas en la solución de diversos tipos de problemas, en el área de computación, algunos de los casos más representativos son:
    Ø  Llamadas a Sub-Programas
    Ø  Recursividad
    Ø  Tratamiento de Expresiones aritméticas
    Ø  Ordenación.

3.1.5 La Clase PILA.

Demostración de la clase Pila, con sus respectivos atributos y clases.
 
Fig. 3.2


VideoEjemplo de pilas en C:


Más información para descargar: