lunes, 16 de enero de 2012

código del árbol en java

codigo 1


public class BTree {
    private BTree izquierda= null;
    private BTree derecha= null;
    private Object elemento;
 
    public static int LADO_IZDO= 1;
    public static int LADO_DRCHO= 2;
 
    public BTree(Object elemento) {
this.elemento  = elemento ;
    }

    public Object getElement() {
return elemento;
    }

    public BTree getIzquierda() {
return izquierda;
    }

    public BTree getDerecha() {
return derecha;
    }

    public void insertar(BTree tree, int lado) throws BTreeException {

if (lado==LADO_IZDO) {
   if (izquierda==null) izquierda= tree;
   else throw new BTreeException("Ya hay un árbol enlazado");
} else if (lado==LADO_DRCHO) {
   if (derecha==null) derecha= tree;
   else throw new BTreeException("Ya hay un árbol enlazado");
} else throw new BTreeException("Lado incorrecto");

    }

    public BTree extraer(int lado) throws BTreeException {
        BTree subarbol;

if (lado==LADO_IZDO) {
   subarbol= izquierda;
            izquierda= null;
} else if (lado==LADO_DRCHO) {
   subarbol= derecha;
            derecha= null;
} else throw new BTreeException("Lado incorrecto");

return subarbol;
    }

    public void imprimePreOrden() {
System.out.println(elemento);
if (izquierda!=null) izquierda.imprimePreOrden();
if (derecha!=null) derecha.imprimePreOrden();
    }

    public void imprimePostOrden() {
if (izquierda!=null) izquierda.imprimePostOrden();
if (derecha!=null) derecha.imprimePostOrden();
System.out.println(elemento);
    }

    public void imprimeEnOrden() {
if (izquierda!=null) izquierda.imprimeEnOrden();
System.out.println(elemento);
if (derecha!=null) derecha.imprimeEnOrden();
    }

}


codigo 2

public class BTreeException extends Exception {
    public BTreeException (String mensaje) {
super(mensaje);
    }
}


codigo 3

public class Trabalenguas {



    public static void main(String args[]) {
BTree trabalenguas, subarbol, temporal;
try {
   trabalenguas= new BTree("Tres");
   subarbol= new BTree("tristes");
   trabalenguas.insertar(subarbol, BTree.LADO_IZDO);
   temporal= new BTree("tigres");
   trabalenguas.insertar(temporal, BTree.LADO_DRCHO);
   temporal= new BTree("comían");
   subarbol.insertar(temporal, BTree.LADO_IZDO);
   temporal= new BTree("trigo");
   subarbol.insertar(temporal, BTree.LADO_DRCHO);

} catch (BTreeException ex) {
   System.out.println(ex.getMessage());
   return;
}

trabalenguas.imprimePreOrden();
System.out.println("------------------");
trabalenguas.imprimeEnOrden();
System.out.println("------------------");
trabalenguas.imprimePostOrden();

System.out.println("------------------");
System.out.println("------------------");

try {
   subarbol= trabalenguas.extraer(BTree.LADO_IZDO);
} catch (BTreeException ex) {
   System.out.println(ex.getMessage());
   return;
}
trabalenguas.imprimePreOrden();

    }
}

No hay comentarios:

Publicar un comentario