Implementazioni di algoritmi/Ricerca dicotomica: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Etichette: Modifica da mobile Modifica da web per mobile |
Rv |
||
Riga 34:
int ricercaBinaria(int lista[], int x, int a, int z ) {
int
// Determina l'elemento centrale
m = ( a + z ) / 2;
if ( m < a || z < 0 ) {
// l'elemento cercato non c'è
return -1;
} else if ( x < lista[m] ) {
// Si ripete la ricerca nella parte inferiore
return ricercaBinaria( lista, x, a, m-1 );
} else if ( x > lista[m] ) {
// Si ripete la ricerca nella parte superiore
return ricercaBinaria( lista, x, m+1, z );
} else {
// m rappresenta l'indice dell'elemento cercato
return m;
}
}
</source>
|