Pesquisa Binária num ArrayList

2 respostas
T

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…

2 Respostas

J

Isso é pra algum tipo de trabalho? Porque já tem isso pronto na classe java.util.Collections.

T

eh sim prum trabalho…

valew,…

Criado 23 de agosto de 2006
Ultima resposta 23 de ago. de 2006
Respostas 2
Participantes 2