ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Arbol General

oscar101019Trabajo10 de Diciembre de 2015

882 Palabras (4 Páginas)200 Visitas

Página 1 de 4

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            for(temp=ini;temp!=null;temp=temp.sig){
               
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;
       
   }
   
   
}

...

Descargar como (para miembros actualizados) txt (3 Kb) pdf (60 Kb) docx (9 Kb)
Leer 3 páginas más »
Disponible sólo en Clubensayos.com