Exemplo n.º 1
0
 /**
  * Constructor de la clase NodoBinario.
  * @param valor Valor específico que el nodo almacenará.
  */
 public NodoAVL(Comparable valor)
 {
     this.valor     = valor;
     this.izquierdo = null;
     this.derecho   = null;
     this.id        = correlativo++;
 }
Exemplo n.º 2
0
 /**
  * Método que inserta un Nodo en el árbol binario de búsqueda.
  * @param val Valor que se desea insertar.
  */
 void insertar(Comparable val)
 {
     //Si el valor a insertar es menor que el nodo actual, entonces debería
     //insertarse a la izquierda de este.
     if (val.compareTo(valor) < 0)
     {
         //Si la izquierda del nodo actual esta desocupada entonces se inserta.
         if (izquierdo == null)
         {
             izquierdo = new NodoAVL(val);
         }
         //De lo contrario nos desplazamos al nodo izquierdo, en busca de un
         //lugar para insertar el nuevo nodo.
         else
         {
             izquierdo.insertar(val);
         }
     }
     //Si el valor a insertar es mayor que el nodo actual, entonces debería
     //insertarse a la derecha de este de este.
     else if (val.compareTo(valor) > 0)
     {
         //Si la derecha del nodo actual esta desocupada entonces se inserta.
         if (derecho == null)
         {
             derecho = new NodoAVL(val);
         }
         //De lo contrario nos desplazamos al nodo derecho, en busca de un
         //lugar para insertar el nuevo nodo.
         else
         {
             derecho.insertar(val);
         }
     }
     else
     {
         //Si no es mayor ni menor, significa que es igual, entonces se despliega
         //un mensaje de error de que no se aceptan duplicados en el árbol.
         System.err.println("No se permiten los valores duplicados: \""
                            + String.valueOf(val) + "\".");
     }
 }