Tengo que hacerle un menu, pero no hay problema...eso no tengo problema, la cosa es que no se como eliminar el nodo...estoy conciente de lo que tengo que hacer, pero no se como hacerlo en la pc , me ayudan por favor?
lo que tengo y se que lo que estoy tratando de hacer con eliminar esta mal:
Código
import paquete.*; import java.io.*; public class principal { String r; numero n; int valor; lista L = new lista (); do{ n=new numero (valor); L.agregar(n); r=en.readLine(); r=r.toUpperCase(); }while (r.equals ("S")); L.mostrar(); do{ L.buscar(valor); r=en.readLine (); r=r.toUpperCase(); }while (r.equals("S")); do{ L.eliminar(); L.mostrar(); r=en.readLine(); r=r.toUpperCase(); }while (r.equals ("S")); } }
Código
package paquete; public class numero { private int num; private numero sig; public numero(int x) { num=x; sig=null; } public int retx(){ return num; } public numero retsig(){ return sig; } public void setsig(numero n){ sig=n; } }
Código
package paquete; public class lista { private numero i; public lista() { i=null; } public void agregar (numero n){ if (i==null){ i=n; } else{ n.setsig(i); i=n; } } public void mostrar(){ numero t=i; if (i!=null){ while (t!=null){ t=t.retsig(); } } else{ } } public void buscar (int x){ numero t=i; int pos=1; if (i!=null){ while (t!=null){ if (t.retx()==x){ break; } t=t.retsig(); pos++; } if (t==null) } } public lista eliminar (int n){ int pos=1; numero t=i; if (t!=null){ if (pos==n){ while (pos=n){ } t=t.setsig(); } else{ pos++; } } } }
Agradeceria la ayuda inmensamente, lei algo de un nodo inicial, y anterior...la otra cosa es que no se como referenciar nodos de una lista...probablemente por eso se me hace tan dificil....
Lo que quiero hacer es que el usuario de la posicion del nodo que quiere eliminar y este se elimine...