Hola amigos:
Tengo un problema al pasar por parametro un lista.
Mi lista tiene un objeto p, tipo nodo, que hace referencia a un nodo de la lista y las funciones get() (devuelve el valor de p) y la funcion getSgte() (avanza p al nodo siguiente).
Mi problema es que cuando paso por parametro una lista y dentro de esta funcion avanzo p con getSgte(), al salir de la funcion, p apunta al nodo que apuntaba antes de llamar a la funcion.
¿Hay una forma de que p siga avanzado?
Esta es la clase lista:
Código Javascript
:
Ver originalpublic class Lista {
private Nodo ini;
private Nodo fin;
private Nodo p;
public Lista(){
ini=null;
fin=null;
p=null;
}
public void insertarFinal(String dato){
Nodo n=new Nodo(dato);
if(fin!=null)fin.setSgte(n);
else p=ini=n;
fin=n;
}
public String get(){
if(p!=null) return p.getDato();
else return null;
}
public String getSgte(){
if(p!=null){
p=p.getSgte();
}else{
p=ini;
}
return get();
}
public void reiniciar(){
p=ini;
}
}
y la clase nodo:
Código Javascript
:
Ver originalpublic class Nodo {
private String dato;
private Nodo sgte;
public Nodo(){
dato=null;
sgte=null;
}
public Nodo(String dato){
this.dato=dato;
sgte=null;
}
public String getDato() {
return dato;
}
public void setDato(String dato) {
this.dato = dato;
}
public Nodo getSgte() {
return sgte;
}
public void setSgte(Nodo sgte) {
this.sgte = sgte;
}
}
ayuda pls.