Pila

Solo disponible en BuenasTareas
  • Páginas : 2 (261 palabras )
  • Descarga(s) : 0
  • Publicado : 26 de febrero de 2012
Leer documento completo
Vista previa del texto
Pila
* Acceso limitado al último elemento insertado
* Operaciones básicas: apilar, desapilar y cima. desapilar o cima en una pila vacía es un error en el TDA pila.
* Quedarse sinespacio al apilar es un error de implementación.
* Cada operación debería tardar una cantidad constante de tiempo en ejecutarse.
* Con independencia del número de elementos apiladas.

Código dela interfaz pila
// OPERACIONES PUBLICAS
// void apilar(x) ->Inserta x
// void desapilar() ->Elimina el ultimo elemento insertado
// Object cima() ->Devuelve el ultimo elemento insertado
//boolean esVacia() ->Devuelve true si vacıa, sino false
// void vaciar() ->Elimina todos los elementos
// ERRORES: cima o desapilar sobre la pila vac ıa
public interface IPila {
voidapilar(Object x);
void desapilar() throws Exception;
Object cima() throws Exception;
boolean esVacia();
void vaciar();
}

Clase pila
import java.util.*;
public class PilaVec implements IPila {private Vector p;
private int cimaDePila;
static final int CAPACIDAD_POR_DEFECTO = 10;
public PilaVec() {
p = new Vector(CAPACIDAD_POR_DEFECTO);
cimaDePila = -1;}
public boolean esVacia() {
return (cimaDePila == -1);
}
public void vaciar() {
cimaDePila = -1;
}
public void apilar(Object x) {
if (++cimaDePila == p.size())p.add(x);
else p.set(cimaDePila, x);
}
public void desapilar() throws Exception {
if (esVacia()) throw new Exception("pila vacía");
cimaDePila--;
}
public Object cima() throws Exception {
if(esVacia()) throw new Exception("pila vac´ ıa");
return p.get(cimaDePila);
}
}
Sus cuatro métodos determinan si la pila está vacía, recuperan el elemento superior sin borrarlo de la pia, situan unelemento en la parte superior de la pila y el último recuera/borra el elemento superior. Aparte de un constructor específico de la implementación, su programa únicamente necesita llamar a estos...
tracking img