Last active
December 27, 2022 14:31
-
-
Save RicardoMurad/4534944 to your computer and use it in GitHub Desktop.
Busca binária recursiva em java
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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); | |
| } | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Vlw brother! Ajudou muito!!!