public static void main(String[] args) {
// TODO code application logic here
int vet[] = {4, 10, 15, 22, 7, 50, 3};
int pos = Arrays.binarySearch(vet, 7);// ao escolher 7 ou o 3 invés de mostrar a posição correta está mostrando uma posição negativa
System.out.println("Encoteri o valor na posição " + pos);
}
Qual o erro estou cometendo aqui?
G
4 Respostas
2 likes
Para usar a pesquisa binaria sua matriz deve estar ordenada.
G
Obrigado! Sem isso, então sempre vai me mostrar alguns valores no índice correto e outros em índices inexistentes?
1 like
A pesquisa binaria parte do principio que o vetor sempre está ordenado, ela vai dividindo o vetor pela metade e analisando em qual parte está o valor procurado, se o seu vetor está fora de ordem ela não será capaz de achar os valores corretos.
Use um Arrays.sort(vet); antes da sua pesquisa para ordenar seu vetor para ela funcionar corretamente.
G
Entendi, muito obrigado!
Criado 30 de agosto de 2022
Ultima resposta 30 de ago. de 2022
Respostas 4
Participantes 2
Alura Git Flow: entenda o que é, como e quando utilizar Entenda o que é Git Flow, como funciona seu fluxo com branches como Master, Develop, Feature, Release e Hotfix, além de vantagens e desvantagens.
Casa do Codigo Ontologias e Web Semantica: Do conceito a aplicacao Por Ivam Galvao Filho — Casa do Codigo