Logo Studenta

PEJEMPLO ARBOL CON DATO OBJETO

¡Estudia con miles de materiales!

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);
	}
 }

Continuar navegando