Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
EJEMPLO ARBOL CON DATO OBJETO // CLASE VEHICULO public class vehiculo { String marca;int modelo; GregorianCalendar fechaCompra; public vehiculo() { fechaCompra= new GregorianCalendar(); } public void leer() { System.out.println("Marca="); marca=Leer.dato(); System.out.println("Modelo="); modelo=Leer.datoInt(); System.out.println("fecha de compra"); System.out.print("Año = /"); int años=Leer.datoInt(); System.out.print("Dia = /"); int dias=Leer.datoInt(); System.out.print("Mes = /"); int mess=Leer.datoInt(); fechaCompra.set(años,dias,mess); } public void mostrar() { System.out.print(" Marca="+marca+" Modelo="+modelo+"\n Fecha de Compra " +"\n Año="+fechaCompra.get(Calendar.YEAR)+"/ Mes="+fechaCompra.get(Calendar.MONTH)+"/ Dia="+fechaCompra.get(Calendar.DAY_OF_MONTH)+" \n"); } } EJEMPLO ARBOL CON DATO OBJETO // CLASE NODO public class Nodo { Nodo hder; vehiculo dato; String clave; Nodo hizq; public Nodo() { hizq=hder=null; clave=null; dato=null; } public Nodo(String cx ,vehiculo dx ) { hizq=hder=null; clave=cx; dato=dx; } } EJEMPLO ARBOL CON DATO OBJETO // CLASE ÁRBOL public class Arbol { Nodo raiz; public Arbol() { raiz=null; } public void inicializar() { raiz=null; } public boolean arbolvacio() { return raiz == null; } public void insertar(String c, vehiculo d) { Nodo nuevo=new Nodo(c,d); if(arbolvacio()) { raiz=nuevo; } else { Nodo p=raiz,q=null; while(p!=null) { q=p; if(p.clave.compareTo(c)>0) { p=p.hizq; } else { p=p.hder; } } if(q.clave.compareTo(c)>0) { q.hizq=nuevo; } else { q.hder=nuevo; } } } EJEMPLO ARBOL CON DATO OBJETO // CLASE OPERACIONES public class Operaciones { int cm; public Operaciones() { cm=0; } public Arbol insertarN(Arbol a) { System.out.println("No de nodos="); int nn=Leer.datoInt(); for(int i=1;i<=nn;++i ) { System.out.println("Nodo"+i+":"); System.out.println("Clave-Placa"); String c=Leer.dato(); System.out.print("Dato= "); vehiculo d = new vehiculo(); d.leer(); a.insertar(c,d); } return a; } EJEMPLO ARBOL CON DATO OBJETO public void preorden( Nodo p) { if(p!=null) { System.out.println(“placa= “+p.clave); p.dato.mostrar(); preorden(p.hizq); preorden(p.hder); } } public void simetrico( Nodo p) { if(p!=null) { simetrico(p.hizq); System.out.println(“placa= “+p.clave); p.dato.mostrar(); simetrico(p.hder); } } EJEMPLO ARBOL CON DATO OBJETO public void posorden( Nodo p) { if(p!=null) { posorden(p.hizq); posorden(p.hder); System.out.println(“placa= “+p.clave); p.dato.mostrar(); } } public void buscar(Arbol a, String cxs) { Nodo p=a.raiz; while((p!=null)&&(p.clave.compareTo(cxs)!=0)) { if(p.clave.compareTo(cxs)>0) p=p.hizq; else p=p.hder; } if(p==null) System.out.println("NODO NO LOCALIZADO"); else {p.dato.mostrar();} } EJEMPLO ARBOL CON DATO OBJETO public void contar(Nodo p, String md) { if(p != null) { contar(p.hizq, md); if(md.equals(p.dato.marca)) { cm=cm+1 }; contar(p.hder, md); } } public void contarMarca(Arbol a, String mb) { contar(a.raiz, mb); System.out.println("No. vehiculos marca "+mb+”=”+cm); } EJEMPLO ARBOL CON DATO OBJETO public class principal { public static void main(String[] args) { Operaciones op=new Operaciones(); Arbol A=new Arbol(); A=op.insertarN(A); System.out.println("PRE-ORDEN"); op.preorden(A.raiz); System.out.println("SIMETRICO"); op.simetrico(A.raiz); System.out.println("POS-ORDEN"); op.posorden(A.raiz); System.out.println("BUSCAR"); System.out.println("Placa= "); String cxs=Leer.dato(); op.buscar(A, cxs); System.out.println("No. VEHICULOS DE UNA MARCA DADA"); System.out.print("Marca= "); String mx=Leer.dato(); op.contarMarca(A, mx); } }
Compartir