Arrays.sort()

3 respostas
T

Olá!

Quando eu faço isso:

Arrays.sort(meuArray);

Que algoritmo de ordenação é utilizado?

3 Respostas

ErickRAR

Se o seu array for de numeros, se não me engano vai do menor para o maior. Se for de String, fica em ordem alfabética. Para Classes, ele ordena pelo hashCode da classe.
Você pode alterar essa ordenação usando Comparator e Comparable.

TerraSkilll

Segundo a documentação (http://docs.oracle.com/javase/7/docs/api/java/util/Arrays.html#sort%28int[]%29), é um Dual-Pivot QuickSort, uma variante do QuickSort.

A implementação não deve ser difícil de encontrar, se é o que você quer.

Abraço.

T

ErickRAR:
Se o seu array for de numeros, se não me engano vai do menor para o maior. Se for de String, fica em ordem alfabética. Para Classes, ele ordena pelo hashCode da classe.
Você pode alterar essa ordenação usando Comparator e Comparable.

Hmmm perdão, a minha dúvida era quanto ao método utilizado para isso, assim como o colega TerraSkilll explicou :stuck_out_tongue:

TerraSkilll:
Segundo a documentação (http://docs.oracle.com/javase/7/docs/api/java/util/Arrays.html#sort%28int[]%29), é um Dual-Pivot QuickSort, uma variante do QuickSort.

A implementação não deve ser difícil de encontrar, se é o que você quer.

Abraço.

Uuuuh esqueci de procurar na documentação. Que vacilo rsrs.

Enfim, eu só conhecia a implementação tradicional do Quicksort. Vou pesquisar a respeito desta variante.

Valeu :wink:

Criado 10 de maio de 2014
Ultima resposta 11 de mai. de 2014
Respostas 3
Participantes 3