Ciao e grazie per avermi risposto... guarda...io ho provato cosi:
codice:
public static boolean diRicerca(AlberoBinImpl a, int root){ if(a==null)
return true;
if(a.getSin()!=null && a.getDes()!=null)
return (root>=a.getSin().getVal() && root<=a.getDes().getVal());
return diRicerca(a.getSin(), a.getVal()) && diRicerca(a.getDes(), a.getVal()); }
ed ho creato un main tipo questo per testarlo:
codice:
package alberi;
public class MainTree {
public static void main(String[] args) {
AlberoBinImpl a,b, c, d, e, f, g;
g = new AlberoBinImpl(13,null,null);
f = new AlberoBinImpl(11,null,null);
e = new AlberoBinImpl(4,null,null);
d = new AlberoBinImpl(3,null,null);
b = new AlberoBinImpl(5,d,e);
c = new AlberoBinImpl(12, f, g);
a = new AlberoBinImpl(10,b,c);
System.out.println(a); System.out.println(AlberoBinImpl.diRicerca(a, a.getVal()));
}
}//MainTree.java
Il tutto funziona per il primo albero diciamo...ovvero la root ed i 2 figli... poi è come se la ricorsione no venisse fatta sugli altri alberi...In cosa sto sbagliando?
Grazie