Implementazioni di algoritmi/Ricerca dicotomica: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Ramac (discussione | contributi)
m Aggiunta Ricerca Dicotomica java ricordavi
Riga 113:
return -1; //non l'ha trovato
}
</source>
 
===Implementazione in [[Java]] versione ricorsiva===
<source lang=java>
/*
* @param lista l'array ordinato su cui effettuare la ricerca
* @param key il valore da cercare
* @return la posizione del valore trovato, -1 se non l'ha trovato
*/
public int ricercaBinariaRicorsiva(int[] lista, int key, int low, int high)

{

int mid;

 mid = (low + high)/2;

if ((mid < low)||(high<0))

{

 return -1; //Valore non trovato

 }

else if (find < lista[mid])

{

return ricercaBinariaRicorsiva(lista, key, low, mid-1);

}

else if (find > lista[mid])

 {

return ricercaBinariaRicorsiva(lista, key, mid+1, high);

 }

else

 {

return mid; //Valore trovato nella posizione mid

 }

}
</source>