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 + ", "); } }