ARBOL DE UN TRABALENGUAS
 
ARBOL DE UN TRABALENGUAS
Mis aficiones
Album de fotos
Curriculum vitae
Mis enlaces favoritos
ARBOL DE UN TRABALENGUAS
 
Imagen
 
CODIGO
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();
}

}
*****************
public class BTreeException extends Exception {
public BTreeException (String mensaje) {
super(mensaje);
}
}
******************
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();

}
}
 
.
.
.