PARA EL MANEJO DE DATOS SE CUENTA CON DOS OPERACIONES BÁSICAS: APILAR (push), QUE COLOCA UN OBJETO EN LA PILA, Y SU OPERACIÓN INVERSA, RETIRAR ( o des apilar, pop), QUE RETIRA EL ÚLTIMO ELEMENTO APILADO.
CLASE 1:
package nodo;
public
class Nodo {
private String informacion;
private Nodo enlace;
public Nodo (String x)
{
informacion=x;
enlace=null;
}
public Nodo(String x, Nodo n){
informacion=x;
enlace=n;
}
public String getInformacion() {
return informacion;
}
public void setInformacion(String informacion) {
this.informacion
= informacion;
}
public Nodo
getEnlace() {
return enlace;
}
public void setEnlace(Nodo enlace) {
this.enlace
= enlace;
}
}
package nodo; // debo de indicar en nombre de mi proyecto en todas las clases que utilizare
// para evitar errores en el nombre de mi clase.
public class Pilas {
private Nodo tope;
Pilas(){
tope=null;
}
public Nodo gettope() {
return tope;
}
public void settope(Nodo tope) {
this.tope = tope;
}
public Pilas push(String informacion){
Nodo nuevo = null;
nuevo= new Nodo(informacion);//crear nuevo nodo(elemento)
nuevo.setEnlace(tope);//enlaza nuevo al frente de la lista
tope=nuevo;//mueve inicio y apunta al nuevo nodo
return this;//devuelve la referencia del objeto lista
}
public String pop(){///quitar de la lista l ultimo nodo
Nodo ultimo = null,anterior=null;
ultimo=tope;
while(ultimo.getEnlace()!=null){
anterior=ultimo;
ultimo=ultimo.getEnlace();
}
if(tope.getEnlace()==null){
tope=null;
}
else{
anterior.setEnlace(null);//borrado logico
}
return ultimo.getInformacion();
}
}

No hay comentarios:
Publicar un comentario