galera seguinte… Preciso implementar um método que faça uma busca num ArrayList. Detalhe, o algoritmo de pesquisa deve ser do tipo Pesquisa Binária… JA dei uma olhada aki no forum mas num encontrei nada funcionando…
Alguem tem um exemplo ai??
Seria algo do tipo:
(este meu codigo não funciona)…
ArrayList lista = new ArrayList();
public void pesquisaBinaria(int chave, int inicio, int fim,
boolean achou) {
int meio;
int cod;
Cadastro cad = new Cadastro();
meio=fim/2;
achou = false;
cad=(Cadastro) listaPrincipal.get(fim);
int codFim = cad.getCodigo();
cad=(Cadastro) listaPrincipal.get(inicio);
int codInicio = cad.getCodigo();
if ((chave>codFim) || (chave<codInicio)){return;}
while (achou==false)
{
cad=(Cadastro) listaPrincipal.get(meio);
cod=cad.getCodigo ();
if (cod==chave)
{achou=true;
System.out.println("codigo : "+cad.getCodigo()+";nome : "+cad.getNome()+";Cidade : "+cad.getCidade());
return;
}
if (chave>cod){this.pesquisaBinaria(chave,meio,fim,achou);}
if (chave<cod){this.pesquisaBinaria(chave,inicio,meio,achou);}
}
}
Valew galera abraço…