package arbol1;
/**
* Descripcion:
* Copyright: Copyright (c) 2002
* Empresa: SID - FIE - UMSNH
* @author J. Rafael R. Ochoa
* @version 1.0
*/
public class Principal
{
Nodo Arbol = null;
public Principal() { }
public void Iniciar()
{
int Datos[] = {80, 90, 10, 5, 45, 30, 20, 78, 120, 23, 67, 64, 69, 100, 200};
CreaArbol(Datos);
System.out.print("\nPreOrden=> "); PreOrden(Arbol);
System.out.print("\nEntreOrden=> "); EntreOrden(Arbol);
System.out.print("\nPostOrden=> "); PostOrden(Arbol);
}
public void CreaArbol(int[] Datos)
{
int Indice = 0;
Nodo NodoNuevo = null;
for(Indice = 0; Indice < 15; Indice++)
{
NodoNuevo = new Nodo(Datos[Indice]);
Arbol = InsertaEnArbol(Arbol, NodoNuevo);
}
}
public Nodo InsertaEnArbol(Nodo Arbol, Nodo NodoNuevo)
{
if (Arbol == null) return NodoNuevo;
if (NodoNuevo.Valor > Arbol.Valor)
{
Arbol.Der = InsertaEnArbol(Arbol.Der, NodoNuevo);
NodoNuevo.Padre = Arbol;
}
if (NodoNuevo.Valor < Arbol.Valor)
{
Arbol.Izq = InsertaEnArbol(Arbol.Izq, NodoNuevo);
NodoNuevo.Padre = Arbol;
}
return Arbol;
}
public void PreOrden(Nodo Arbol)
{
System.out.print(Arbol.Valor + ", ");
if (Arbol.Izq != null) PreOrden(Arbol.Izq);
if (Arbol.Der != null) PreOrden(Arbol.Der);
}
public void EntreOrden(Nodo Arbol)
{
if (Arbol.Izq != null) EntreOrden(Arbol.Izq);
System.out.print(Arbol.Valor + ", ");
if (Arbol.Der != null) EntreOrden(Arbol.Der);
}
public void PostOrden(Nodo Arbol)
{
if (Arbol.Izq != null) PostOrden(Arbol.Izq);
if (Arbol.Der != null) PostOrden(Arbol.Der);
System.out.print(Arbol.Valor + ", ");
}
}