Caetano,

        Uma das primeiras coisas que vc deve ter em mente quando trabalha com java
é que com certeza já existe alguma implementação dentro do JDK que resolve
de forma elegante e eficiente os problemas clássicos de programação, como
por exemplo:

        - existem API`s para resolver problemas de sort
        - existem API`s para representar as estruturas de dados clássicas (Listas,
Arrays, Árvores ...)
        - existem API`s que representam os algorítmos de hash
        - existem API`s para resolver os problemas clássicos de comunicação em rede
        - existem API`s para resolver os problemas clássicos de I/O

        No seu caso o que vc deve fazer é utilizar a classe Collections e chamar o
método sort(List l). Este método é uma implementação otimizada do algorítmo
de ordenação Merge Sort, o qual tem uma performance bastante próxima do
Quick Sort além de ser estável, ou seja, seu pior caso tem um tempo de
ordenação muito próximo do caso ótimo, coisa que não acontece no Quick Sort
onde o pior caso tem uma performace muito inferior ao caso ótimo.
        Para utilizar esse método os objetos que estiverem na sua lista devem
implementar a interface Comparable, ou então vc pode também utilizar o
método com a assinatura sort(List list, Comparator c) onde Comparator é um
objeto que implemente a interface Comparator, ou seja, este será o objeto
encarregado de efetuar a comparação entre os objetos que estão na lista.
        As classes que são os wrappers dos tipos primitivos (Character, Byte,
Short, Integer, Long, Float, Double) e mais a classe String, já implementam
a interface Comparable, ou seja, se a sua lista for de algum desses objetos
vc poderá chamar diretamente o método sort(List l) que a sua lista será
ordenada de acordo com o conceito de "natural order", ou seja, ordem
alfabética para String e ordem crescente para números.
        Caso vc esteja querendo ordenar uma lista de objetos Pessoa, por exemplo,
aí sim vc vai precisar utilizar o nétodo sort(List list, Comparator c), onde
o Comparator irá definir como os seus objetos Pessoa devem ser ordenados.
        Espero ter ajudado,

        Um abraço,
        Anderson M. C. de Souza



-----Mensagem original-----
De: Caetano [mailto:[EMAIL PROTECTED]]
Enviada em: sábado, 2 de março de 2002 22:18
Para: [EMAIL PROTECTED]
Assunto: [java-list] Sort Em Array...


Prezados Colegas,

Estou avancando nos meus estudos com Java e por isto, segue em anexo,
pequeno codigo que criei com objetivo de ordenar um array numerico.
O algoritmo retirei de um news de vb... Então tentei criar algo que utilize
bem Java e Orientacao a Objetos.

Gostaria de receber comentários sobre o código, codificação, estilo da
classe (se esta mais para OO ou para procedural...)

Ps.: Nao fui atras de ver se outras classes em Java ja implementam solucoes
semelhantes (talvez Vector..). O Objetivo maior eh aprender ...
[]'s

Caetano
[EMAIL PROTECTED]





------------------------------ LISTA SOUJAVA ---------------------------- 
http://www.soujava.org.br  -  Sociedade de Usuários Java da Sucesu-SP 
dúvidas mais comuns: http://www.soujava.org.br/faq.htm
regras da lista: http://www.soujava.org.br/regras.htm
historico: http://www.mail-archive.com/java-list%40soujava.org.br
para sair da lista: envie email para [EMAIL PROTECTED] 
-------------------------------------------------------------------------

Responder a