Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package Arboles;
- public class ABB
- {
- public pNodoArbol Raiz = null;
- public pNodoArbol CreaNodo(int C)
- {
- pNodoArbol nodo = new pNodoArbol();
- nodo.X = C;
- nodo.LigaDer = null;
- nodo.LigaIzq = null;
- return nodo;
- }
- public boolean InsertaABB(int C, pNodoArbol Raiz)
- {
- boolean resp = false;
- pNodoArbol Aux;
- if(C < Raiz.X)
- {
- if(Raiz.LigaIzq != null)
- return InsertaABB(C, Raiz.LigaIzq);
- else{
- Aux = CreaNodo(C);
- Raiz.LigaIzq = Aux;
- resp = true;
- }
- }else if(C > Raiz.X){
- if(Raiz.LigaDer != null)
- return InsertaABB(C, Raiz.LigaDer);
- else{
- Aux = CreaNodo(C);
- Raiz.LigaDer = Aux;
- resp = true;
- }
- }else
- System.out.println("Elemento Repetido No valido");
- return resp;
- }
- public pNodoArbol Eliminar(int C, pNodoArbol nodo)
- {
- if(nodo == null)
- return null;
- if(nodo.X == C)
- return Unir(nodo.LigaIzq, nodo.LigaDer);
- if(C < nodo.X)
- nodo.LigaIzq = Eliminar(C, nodo.LigaIzq);
- else if(C > nodo.X)
- nodo.LigaDer = Eliminar(C, nodo.LigaDer);
- return nodo;
- }
- public pNodoArbol Unir(pNodoArbol izq, pNodoArbol der)
- {
- if(izq == null)
- return der;
- if(der == null)
- return izq;
- pNodoArbol centro = Unir(izq.LigaIzq, der.LigaDer);
- izq.LigaDer = centro;
- der.LigaIzq = izq;
- return der;
- }
- public void PreOrden(pNodoArbol nodo)
- {
- if(nodo == null)
- return;
- System.out.println(nodo.X+"");
- PreOrden(nodo.LigaIzq);
- PreOrden(nodo.LigaDer);
- }
- public void InOrden(pNodoArbol nodo)
- {
- if(nodo == null)
- return;
- InOrden(nodo.LigaIzq);
- System.out.println(nodo.X+"");
- InOrden(nodo.LigaDer);
- }
- public void PosOrden(pNodoArbol nodo)
- {
- if(nodo == null)
- return;
- PosOrden(nodo.LigaIzq);
- System.out.println(nodo.X+"");
- PosOrden(nodo.LigaDer);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement