//Atributos private CArbolBB hd;//aSubArbolDerecho private CArbolBB hi;//aSubArbolIzquierdo private int dato; //aRaiz //Cosntructores private void nodoArbol(){ hd = null; hi = null; dato = 0; } }
public nodoArbol raiz;
public void CArbolBB(){
nodoArbol raiz = new nodoArbol(); }
public boolean esVacio(){
return (raiz == null); }
public void insertar(int a){
if (esVacio()) { nodoArbol nuevo = new nodoArbol(); nuevo.dato = a; nuevo.hd = new CArbolBB(); nuevo.hi = new CArbolBB(); raiz = nuevo; } else { if (a > raiz.dato) { (raiz.hd).insertar(a); } if (a < raiz.dato){ (raiz.hi).insertar(a); } } }
public void preOrder(){
if (!esVacio()) { System.out.print( raiz.dato + ", " ); raiz.hi.preOrder(); raiz.hd.preOrder(); } } public void inOrder(){ if (!esVacio()) { raiz.hi.inOrder(); System.out.print( raiz.dato + ", " ); raiz.hd.inOrder(); } }
//Declarar variables int h; //Instanciando a la clase CArbol CArbolBB arbol=new CArbolBB(); //Agregar elementos al arbol arbol.insertar(36); arbol.insertar(81); arbol.insertar(25); arbol.insertar(35); arbol.insertar(33); arbol.insertar(74); arbol.insertar(10); arbol.insertar(90); //Mostrar el recorrido en PreOrden System.out.println("El recorrido In Orden es: "); arbol.inOrder(); System.out.println("\nEl recorrido en Pre Orden es:"); arbol.preOrder(); System.out.println("\nEl recorrido en Post Orden"); arbol.posOrder(); h=arbol.altura(); System.out.println("\nLa altura es: "+h); //Eliminar 36 arbol.eliminar(36); arbol.preOrder(); }