to get the file

Anuncio
Metodologı́a y Tecnologı́a de la Programación. Control 2.3
Pregunta 1 (0.5 ptos)
Implementar el TDA Pila (inmutable) de acuerdo a la especificación informal y los métodos en Java dados. Debe utilizarse
una representación enlazada con la estructura de datos adjunta. Todas las operaciones deberán ejecutarse en un tiempo
O (1).
public class Pila {
private class Celda {
private Celda sig;
private Elemento elem;
}
private Celda inicio;
...
} // fin class Pila
TDA Pila: Especificación Formal
Tipo: Pila (Elemento)
Sintaxis:
pilavacia → Pila
vacia(Pila) → booleano
tope(Pila) → Elemento
push(Pila,Elemento) → Pila
pop(Pila) → Pila
Semántica: ∀ P ∈ Pila, ∀ E ∈ Elemento:
vacia(pilavacia) ⇒ cierto
vacia(push(P,E)) ⇒ falso
tope(pilavacia) ⇒ error
tope(push(P,E)) ⇒ E
pop(pilavacia) ⇒ error
pop(push(P,E)) ⇒ P
Clase Pila
class Pila
Clase Elemento
class Elemento
Constructores
Pila()
Pila(Pila p, Elemento e)
Constructores
Elemento()
Métodos
boolean vacia()
Elemento tope()
Pila pop()
Métodos
int valor()
Resolución Control 2.3
Pregunta 1 (0.5 ptos)
public class Pila {
private class Celda {
private Celda sig;
private Elemento elem;
}
private Celda inicio;
public Pila() { inicio = null; }
public Pila(Pila p, Elemento e) {
inicio = new Celda();
inicio.sig = p.inicio;
inicio.elem = e;
}
public Pila pop() {
Pila p = new Pila();
p.inicio = inicio.sig;
return p;
}
public Elemento tope() { return inicio.elem; }
public boolean vacia() { return (inicio==null); }
} // fin class Pila
Descargar