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 original
public 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 original
public 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.