listas doblemente enlazadas o ligadas con metodo de recursividad
he tratado por todo lado hacerlo pro el metodo recursivo
lo que necesito es q imprima la lista doblemente enlazada
y ahi solo esta imprimiendo sig
necesito que tambien imprima ant si alguien me puede ayudar se lo agradezco ya he hecho de todo y nada q lo logro.
es hacer una lista doblemente nelazada pero por metodod recursivo
el codigo que muestro acontinuacion esta en recursivo pero nos e como ams implementarlo para que imprima la lista doblemente enlazada
private Object dato;
private Listas sig;
private Listas ant;
public Listas() {
dato = null;
sig = null;
ant = null;
}
public void InsertarFinal(Object x) {
int tamanio=tamaño();
if(tamanio<=0){
dato = x;
sig = new Listas();
sig.ant=null;
}else
if (vacia()) {
dato = x;
sig.ant =sig.sig ;
sig = new Listas();
} else {
sig.InsertarFinal(x);
}
}
public boolean vacia() {
return dato == null && sig == null;
}
public String toString() {
String res = "[" + restosig() + "]";
return res;
}
private String restosig() {
String res = "";
if (!vacia()) {
res = dato.toString();
if (!sig.vacia()) {
res = res + ", " + sig.restosig();
}
}
System.out.println(ant);
return res;
}
private String restoant() {
String res = "";
if (!vacia()) {
res = dato.toString();
if (!ant.vacia()) {
res = res + "," + sig.ant.restoant();
}
}
return res;
}
public int tamaño() {
if (vacia()) {
return 0;
}
return 1 + sig.tamaño();
}
public boolean buscar(Object x) {
if (vacia()) {
return false;
}
if (dato.equals(x)) {
return true;
}
return sig.buscar(x);
}
public Object obtener(int pos) {
if (vacia()) {
return null;
}
if (pos == 0) {
return dato;
}
return sig.obtener(pos - 1);
}
public void modificar(int pos, Object x) {
if (vacia() || pos < 0) {
return;
}
if (pos == 0) {
dato = x;
} else {
sig.modificar(pos - 1, x);
}
}
public Object eliminar(Object x) {
Object res = null;
if (!vacia()) {
if (dato.equals(x)) {
res = dato;
dato = sig.dato;
sig = sig.sig;
} else {
res = sig.eliminar(x);
}
}
return res;
}
}
<code>
- Inicie sesión o regístrese para enviar comentarios
Comentarios recientes
hace 1 semana 2 días
hace 1 semana 2 días
hace 1 semana 2 días
hace 25 semanas 5 días
hace 27 semanas 1 hora
hace 33 semanas 4 días
hace 1 año 26 semanas
hace 2 años 38 semanas
hace 2 años 42 semanas
hace 2 años 49 semanas