Duvida com Arrays.binarySearch

2 respostas
B

Fala ae rapaziada.

Olha só, sei que a pergunta é besta, mas sabe qdo vc nao consegue de jeito nenhum descobrir o pq… pois é, eu to assim

Olha esse codigo:

char[] c={'b','d','c','a','z','o'};
        System.out.println("c:  " + Arrays.binarySearch(c, 'a'));
        Arrays.sort(c);
        System.out.println("c ordenado:  " + Arrays.binarySearch(c, 'a'));

E o resultado disso é:
c: -1
c ordenado: 0

Bom, esse eu entendi, afinal de contas aplica-se a formula que consta no livro da Kathy (-(ponto de inserção)-1)

Mas e se ao inves de ‘a’ vc procurar por ‘z’ o resultado DEVERIA ser:
c: -6
c ordenado: 5

MAS, rodando o programa, sai assim:
c: 4
c ordenado: 5

o ordenado blz, eu entendi, mas pq 4?!?!?!?
Cade a formula do livro?!?!?! (-(ponto de inserção)-1)
Valeu pela ajuda!
T+

2 Respostas

M

"

gustavobs

cara, pelo q eu sei, antes de dar sort o resultado é imprevisível.
sempre se dá sort() antes de binarySearch()

Criado 9 de dezembro de 2008
Ultima resposta 10 de dez. de 2008
Respostas 2
Participantes 3