codice:
public static int cercaIndice( int[] a, int sx, int dx )
{
int centro = (sx+dx) / 2;
System.out.println( "Centro vale: " + centro );
if( a[(centro+1) % a.length] > a[centro] && a[(centro-1)%a.length] > a[centro] )
{
System.out.println("Trovato l'indice in posizione " + centro);
return centro;
}
else
if( a[centro] > a[dx] )
cercaIndice( a, centro+1, dx);
else
cercaIndice( a, sx, centro-1);
return centro;
}
Ok funziona, a parte quell'ultimo return centro che l'ho messo per far star zitto il complilatore, altrimenti mi dice che la funzione deve ritornare u n valore intero ( se provi ad eseguirla devi far fede solo alla stampa dentro l'if ).
La cosa che non capisco ancora e'..che relazione c'e' quindi tra l'elemento che esamino e sx e dx ?