Practica sobre Pilas
PRACTICA 7
LABORATORIO DE ESTRUCTURA DE DATOS I
TAD PILA
Objetivo de la práctica: Realizar la implementación del TAD PILA Genérica
1. Diseñar e implementar una clasegenérica que cumpla con la especificación del TAD Pila que
se especifica a continuación:
Especificación TAD
TAD: Pila
Descripción objeto abstracto:
apilar
desapilar
en
Tope
.
.
.e3
e2
e1
Fondo
O también, si la Pila tiene por lo menos un elemento se representa como:
Pila =
siendo e1 el fondo y en el tope.
Si la Pila p no tiene elementos, entonces:
Pila =
Usa:TipoDato
Invariante: El único elemento disponible para consultar o desapilar es el tope. El último elemento apilado
se convierte en el tope.
Operaciones:
- Constructoras:
crearPila: Pila.
-Modificadoras:
apilar(Pila, elemento): Pila.
desapilar(Pila): Pila.
- Visualizadoras:
recuperarTope(Pila): Elemento.
esVacia(Pila): booleano.
- Destructoras:
destruirPila: ~
MSc. Sara DonnellyGarcés Agredo
UNIVERSIDAD DEL CAUCA – FIET
Departamento de Sistemas
Prototipo crearPila
/* Construye una pila vacía, es decir solicita memoria para poder almacenar los elementos en
la pila */{precondiciones: Ninguna}
{poscondiciones: Pila = }
Prototipo apilar
/* Agrega a la Pila un nuevo elemento e */
{precondiciones: : Pila = y elemento e ó
Pila = y elemento e }
{poscondiciones:Pila p = ó Pila = }
Prototipo desapilar
/* Saca de la pila el elemento insertado más recientemente */
{precondiciones: Pila }
{poscondiciones: Pila = }
Prototipo recuperarTope
/* Recuperael valor del elemento que está en el tope.*/
{precondiciones: : Pila }
{poscondiciones: Elemento en}
Prototipo esVacia
/* Informa si la Pila está o no vacía.*/
{precondiciones: : Pila }{poscondiciones: VERDADERO si p = ; FALSO si p
}
Prototipo destruirPila
/* Destruye la pila liberando la memoria que ésta ocupaba.*/
{precondiciones: : Pila }
{poscondiciones: ~ }
2....
Regístrate para leer el documento completo.