Programar Árbol Binario de Búsqueda en java
Mi codigo es este segun yo todo esta bien no se porque no inserta los valores,
public class Nodo {
int numMat;
Nodo izqda, drcha;
public Nodo(int mat){
numMat = mat;
izqda = drcha = null;
}
public void re_enorden(){
if(izqda != null)
izqda.re_enorden();
System.out.println("Matricula: " +numMat);
if(drcha != null)
drcha.re_enorden();
}
}
public class ABB {
private Nodo raiz;
public ABB(){
raiz = null;
}
public void insertar(int nuevoM){
if(raiz==null){
raiz = new Nodo(nuevoM);
}
else{
insertar(raiz,nuevoM);
}
}
private void insertar(Nodo rz, int nm){
if (rz == null)
rz = new Nodo(nm);
else if(nm < rz.numMat)
insertar(rz.izqda,nm);
else if(nm > rz.numMat)
insertar(rz.drcha,nm);
else
System.out.println("Numero Duplicados");
}
public void visualizar(){
if(raiz!=null)
raiz.re_enorden();
}
}
public class Ejecutar {
public static void main(String []args){
ABB arbol = new ABB();
arbol.insertar(6);
arbol.insertar(3);
arbol.insertar(7);
arbol.visualizar();
}
}
El primer nodo si lo inserta los demás ya no, estoy usando métodos recursivos pareciera ser que después de la raíz ya no inserta los demás elementos no se que pudiera hacer
public class Nodo {
int numMat;
Nodo izqda, drcha;
public Nodo(int mat){
numMat = mat;
izqda = drcha = null;
}
public void re_enorden(){
if(izqda != null)
izqda.re_enorden();
System.out.println("Matricula: " +numMat);
if(drcha != null)
drcha.re_enorden();
}
}
public class ABB {
private Nodo raiz;
public ABB(){
raiz = null;
}
public void insertar(int nuevoM){
if(raiz==null){
raiz = new Nodo(nuevoM);
}
else{
insertar(raiz,nuevoM);
}
}
private void insertar(Nodo rz, int nm){
if (rz == null)
rz = new Nodo(nm);
else if(nm < rz.numMat)
insertar(rz.izqda,nm);
else if(nm > rz.numMat)
insertar(rz.drcha,nm);
else
System.out.println("Numero Duplicados");
}
public void visualizar(){
if(raiz!=null)
raiz.re_enorden();
}
}
public class Ejecutar {
public static void main(String []args){
ABB arbol = new ABB();
arbol.insertar(6);
arbol.insertar(3);
arbol.insertar(7);
arbol.visualizar();
}
}
El primer nodo si lo inserta los demás ya no, estoy usando métodos recursivos pareciera ser que después de la raíz ya no inserta los demás elementos no se que pudiera hacer
1 respuesta
Respuesta
-1