Nuno Sousa Posted May 17, 2021 at 05:52 PM Report Share #622338 Posted May 17, 2021 at 05:52 PM Boas tardes. Estou com uma pequena dúvida em relação á busca de um valor por binarySearch, queria ver se alguém me consegue ajudar. Segue abaixo o exercício: int vet[] = {1, 6, 4, 3}; for(int v:vet){ System.out.print(v + " "); } System.out.println(""); int pos = Arrays.binarySearch(vet, 3); System.out.println("Valor encontrado na posição " + pos); } A questão aqui é que o valor que me retorna na busca por 3 é -2 e pelo pouco que percebo não está certo mas se colocar a busca pelo valor 6 já me retorna a posição correta que é 1. Alguém me sabe dizer porque isto acontece? Obrigado a todos. Link to comment Share on other sites More sharing options...
Solution Rui Carlos Posted May 17, 2021 at 06:27 PM Solution Report Share #622340 Posted May 17, 2021 at 06:27 PM Citação Searches the specified array of ints for the specified value using the binary search algorithm. The array must be sorted [...] prior to making this call. If it is not sorted, the results are undefined. In: https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Arrays.html#binarySearch(int[],int) [Realces meus.] Rui Carlos Gonçalves Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now