Skip to content

Instantly share code, notes, and snippets.

@RicardoMurad
Last active December 27, 2022 14:31
Show Gist options
  • Select an option

  • Save RicardoMurad/4534944 to your computer and use it in GitHub Desktop.

Select an option

Save RicardoMurad/4534944 to your computer and use it in GitHub Desktop.
Busca binária recursiva em java
package com.foo.bar;
import java.util.Arrays;
public class BuscaBinariaRecursiva {
public static void main(String[] args) {
int[] array = { 1, 8, 34, 67, 9, 6, 78, 12, 56, 41, 90 };
Arrays.sort(array);
System.out.println(Arrays.toString(array));
System.out.println(busca(array, 6));
System.out.println(busca(array, 78));
System.out.println(busca(array, 90));
}
private static int busca(int[] array, int chave) {
return buscaBinariaRecursiva(array, 0, array.length - 1, chave);
}
private static int buscaBinariaRecursiva(int[] array, int menor, int maior,
int chave) {
int media = (maior + menor) / 2;
int valorMeio = array[media];
if (menor > maior)
return -1;
else if(valorMeio == chave)
return media;
else if (valorMeio < chave)
return buscaBinariaRecursiva(array, media+1, maior, chave);
else
return buscaBinariaRecursiva(array, menor, media-1, chave);
}
}
@betocarva
Copy link

Vlw me ajudou muito.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment