public static int buscaBinaria( int[] array, int valor )

{

int esq = 0;

int dir = array.length - 1;

int valorMeio;

while ( esq <= dir ) {

valorMeio = (esq + dir) / 2; // pode ocorrer estouro aritmético mas funciona (Y)

if ( array[valorMeio] < valor ) {

esq = valorMeio + 1;

} else if( array[valorMeio] > valor ) {

dir = valorMeio - 1;

} else {

return valorMeio;

}

}

return -1;

}

Comentários