|
|
|
![]() |
|
Strumenti |
![]() |
#21 | |
Junior Member
Iscritto dal: Apr 2008
Messaggi: 25
|
Quote:
static boolean maggiore (AlberoB A,AlberoB B) { if (A==null && B==null) return true; visitaPosticipata(A.sinistro()); return presente(B,A.sinistro()); visitaPosticipata(A.destro()); return presente(B,A.destro()); return presente(B,A.val()); } Kosi adesso funziona? |
|
![]() |
![]() |
![]() |
#22 | |
Senior Member
Iscritto dal: Nov 2005
Messaggi: 2776
|
Quote:
Tutte le istruzioni che ti ho evidenziato sono irraggiungibili perché sono preceduti da un return. Ti do una mano con un po' di codice: Codice:
static boolean maggiore (AlberoB A,AlberoB B) { if(A==null) return true; //Se sono arrivato in fondo all'albero va bene quindi torno true if(!XXX) return false; //Qual è l'unico caso in cui torno false? return XXX && XXX; //E qui c'è la chiamata ricorsiva } |
|
![]() |
![]() |
![]() |
#23 |
Junior Member
Iscritto dal: Apr 2008
Messaggi: 25
|
Codice:
static boolean maggiore (AlberoB A,AlberoB B) { if(A==null) return true; //Se sono arrivato in fondo all'albero va bene quindi torno true if(!presente(B,a.val()) return false; //Qual è l'unico caso in cui torno false? return maggiore(A.sinistro(),B) && maggiore(A.destro(),B); //E qui c'è la chiamata ricorsiva } ![]() |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 00:38.