Arbol General
oscar101019Trabajo10 de Diciembre de 2015
882 Palabras (4 Páginas)200 Visitas
public class NodoGeneral {
Object valor;
NodoListaDoble ini,fin,temp;
public NodoGeneral(Object val){
valor=val;
ini=fin=null;
}
public boolean esHoja(){
return ini==null && fin==null;
}
public boolean esRama(){
return !esHoja();
}
public boolean enlazar(Object valor){
temp = new NodoListaDoble (new NodoGeneral(valor));
if(temp==null){
return false;
}
if(ini==null && fin==null){
ini=temp;
fin=temp;
return true;
}
fin.sig=temp;
temp.ant=fin;
fin=temp;
return true;
}
public boolean desenlazar(Object o){
if(ini==null && fin== null){
return false;
}
if(ini==fin){
if(ini.hijoDir.equals(o)){
ini = fin = null;
return true;
}
return false;
}
if(ini.hijoDir.equals(o)){
temp = ini;
ini = temp.sig;
temp.sig = null;
ini.ant = null;
temp = null;
return true;
}
if(fin.hijoDir.equals(o)){
temp = fin;
fin = temp.ant;
fin.sig = null;
temp.ant = null;
temp = null;
return true;
}
for(temp = ini.sig; temp!=fin;temp = temp.sig){
if(temp.hijoDir.equals(o)){
temp.ant.sig = temp.sig;
temp.sig.ant = temp.ant;
temp.ant = temp.sig = null;
temp = null;
return true;
}
}
return false;
}
public NodoGeneral buscar(NodoGeneral N,String arr){
String e=arr.substring(1,arr.length());
String ar[]=e.split("/");
for(int i=0;i
if(temp.hijoDir.valor==ar[i]){
temp.hijoDir=N;
return buscar(N,e.substring(1,e.length()));
}
return buscar(N,e.substring(1,e.length()));
}
}
return N;
}
}
public class NodoListaDoble {
NodoGeneral hijoDir;
NodoListaDoble ant,sig;
public NodoListaDoble(NodoGeneral dirHijo){
hijoDir=dirHijo;
sig=ant=null;
}
}
...