Advertisement
s00rk

ABB

Dec 12th, 2011
46
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.82 KB | None | 0 0
  1. package Arboles;
  2.  
  3. public class ABB
  4. {
  5.     public pNodoArbol Raiz = null;     
  6.        
  7.     public pNodoArbol CreaNodo(int C)
  8.     {
  9.         pNodoArbol nodo = new pNodoArbol();
  10.         nodo.X = C;
  11.         nodo.LigaDer = null;
  12.         nodo.LigaIzq = null;
  13.         return nodo;
  14.     }
  15.    
  16.     public boolean InsertaABB(int C, pNodoArbol Raiz)
  17.     {
  18.         boolean resp = false;
  19.         pNodoArbol Aux;
  20.         if(C < Raiz.X)
  21.         {
  22.             if(Raiz.LigaIzq != null)
  23.                 return InsertaABB(C, Raiz.LigaIzq);
  24.             else{
  25.                 Aux = CreaNodo(C);
  26.                 Raiz.LigaIzq = Aux;
  27.                 resp = true;
  28.             }
  29.         }else if(C > Raiz.X){
  30.             if(Raiz.LigaDer != null)
  31.                 return InsertaABB(C, Raiz.LigaDer);
  32.             else{
  33.                 Aux = CreaNodo(C);
  34.                 Raiz.LigaDer = Aux;
  35.                 resp = true;
  36.             }
  37.         }else
  38.             System.out.println("Elemento Repetido No valido");
  39.         return resp;
  40.     }
  41.    
  42.     public pNodoArbol Eliminar(int C, pNodoArbol nodo)
  43.     {
  44.         if(nodo == null)
  45.             return null;
  46.         if(nodo.X == C)
  47.             return Unir(nodo.LigaIzq, nodo.LigaDer);
  48.         if(C < nodo.X)
  49.             nodo.LigaIzq = Eliminar(C, nodo.LigaIzq);
  50.         else if(C > nodo.X)
  51.             nodo.LigaDer = Eliminar(C, nodo.LigaDer);
  52.         return nodo;
  53.     }
  54.    
  55.     public pNodoArbol Unir(pNodoArbol izq, pNodoArbol der)
  56.     {
  57.         if(izq == null)
  58.             return der;
  59.         if(der == null)
  60.             return izq;
  61.         pNodoArbol centro = Unir(izq.LigaIzq, der.LigaDer);
  62.         izq.LigaDer = centro;
  63.         der.LigaIzq = izq;
  64.         return der;
  65.     }
  66.    
  67.     public void PreOrden(pNodoArbol nodo)
  68.     {
  69.         if(nodo == null)
  70.             return;
  71.         System.out.println(nodo.X+"");
  72.         PreOrden(nodo.LigaIzq);
  73.         PreOrden(nodo.LigaDer);
  74.     }
  75.    
  76.     public void InOrden(pNodoArbol nodo)
  77.     {
  78.         if(nodo == null)
  79.             return;
  80.         InOrden(nodo.LigaIzq);
  81.         System.out.println(nodo.X+"");
  82.         InOrden(nodo.LigaDer);
  83.     }
  84.    
  85.     public void PosOrden(pNodoArbol nodo)
  86.     {
  87.         if(nodo == null)
  88.             return;
  89.         PosOrden(nodo.LigaIzq);
  90.         System.out.println(nodo.X+"");
  91.         PosOrden(nodo.LigaDer);
  92.     }
  93. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement