| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/08/2010 14:16:00
|
Java_Terminator
JavaEvangelist
Membro desde: 31/07/2009 06:37:37
Mensagens: 437
Offline
|
Galera preciso criar um algoritmo para ordenar uma lista de strings, porem
preciso do algoritmo, alguem sabe por onde posso começar?, ja to tentando isso
faz uns 5 dias heheh;.. grato
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/08/2010 15:26:21
|
santos.fernando
JavaEvangelist
![[Avatar]](/images/avatar/f126a36acc1144ddade56fca3cd710f5.jpg)
Membro desde: 28/02/2007 20:14:15
Mensagens: 487
Localização: Curitiba
Offline
|
Post o que vc já fez para podermos analisar e te ajudar.
|
Deus não escolhe os capacitados, mas capacita os escolhidos ! |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/08/2010 22:21:12
|
WendersonLP
Java Ninja
![[Avatar]](/images/avatar/c1bb74048a5d773b8107cdc90cce668d.jpg)
Membro desde: 28/03/2009 06:31:49
Mensagens: 261
Localização: Sergipe
Offline
|
Bem se for nomes você pode pegar o código de cada caracter desse nome e somá-los,
e ordenar as strings pela soma dos caracteres.
|
Wenderson
Estudande de Sistemas de Informação
5° período
Universidade Federal de Sergipe
http://twitter.com/wenderson_se
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/08/2010 09:43:42
|
ViniGodoy
Moderador
![[Avatar]](/images/avatar/1921493b5362e63fbe8983f4bd54157d.png)
Membro desde: 11/12/2006 08:22:01
Mensagens: 20580
Localização: Curitiba/PR
Offline
|
Procure por algorítmo da bolha, Quick sort, Merge sort ou Heap sort. Todos fazem ordenação.
Para comparar duas Strings, use o método compare, da própria classe String. Ele gera um resultado mais consistente do que a sugestão do Wenderson, que provavelmente gerará uma ordenação sem muito sentido para o usuário.
|
@ViniGodoy - Lattes
Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!
Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).
Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/08/2010 10:07:26
|
Romildo_Paiter
JavaChild
![[Avatar]](/images/avatar/8010af36c42039baae15e6a510e8d1de.jpeg)
Membro desde: 09/04/2008 17:35:24
Mensagens: 129
Offline
|
Bom com disse o nosso amigo ViniGodoy, existem alguns algoritimos para você fazer ordenação.
Mas o bom do Java é utilizar o que ele já oferece de melhor para essa solução sem você praticamente fazer nada e utilizar do conceito de coleções.
Acho que quem vai poder te ajudar mais é utilizar uma coleção do tipo List, usando um ArrayList. E utilizar um método sort, que já vem por herança.
Da uma estudada sobre isso que você vai ver como isso pode te ajudar muito.
Blz
Falow boa semana a todos.
att
Romildo Jozue Paiter
|
Romildo Jozué Paiter
Graduando em Sistema da Informação :: UFMT
Técnico em Desenvolvimento de Sistemas e Rede de Computadores. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/08/2010 11:44:05
|
ViniGodoy
Moderador
![[Avatar]](/images/avatar/1921493b5362e63fbe8983f4bd54157d.png)
Membro desde: 11/12/2006 08:22:01
Mensagens: 20580
Localização: Curitiba/PR
Offline
|
Romildo_Paiter wrote:Acho que quem vai poder te ajudar mais é utilizar uma coleção do tipo List, usando um ArrayList. E utilizar um método sort, que já vem por herança.
O método sort não vem por herança. Ele está na classe Collections e não na classe Collection (que é pai de ArrayList). Tanto que é usado assim: Para arrays também existe o método sort, mas na classe Arrays: Mas como o próprio autor do tópico disse que precisa do algorítmo em si, e não só de um método pronto, resolvi postar ali os métodos de ordenação conhecidos. Ele agora que escolha um e implemente.  Outra opção é ver como esses métodos são implementados nos fontes do Java. PS: Para uma ordenação baseada no alfabeto, é bom usar um comparador que leve em consideração a lingua sendo utilizada. O Java possui uma classe para isso, chamada Collator:
This message was edited 5 times. Last update was at 16/08/2010 11:50:05
|
@ViniGodoy - Lattes
Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!
Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).
Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/08/2010 12:02:39
|
Romildo_Paiter
JavaChild
![[Avatar]](/images/avatar/8010af36c42039baae15e6a510e8d1de.jpeg)
Membro desde: 09/04/2008 17:35:24
Mensagens: 129
Offline
|
Valew Vini, obrigado pela correção..
E o Nosso amigo ganhou já o código, e é como vc disse. Vai dele usar essa dica ou Implementar seu próprio método.
att
Romildo Paiter
|
Romildo Jozué Paiter
Graduando em Sistema da Informação :: UFMT
Técnico em Desenvolvimento de Sistemas e Rede de Computadores. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/08/2010 13:35:40
|
ViniGodoy
Moderador
![[Avatar]](/images/avatar/1921493b5362e63fbe8983f4bd54157d.png)
Membro desde: 11/12/2006 08:22:01
Mensagens: 20580
Localização: Curitiba/PR
Offline
|
Mais interessante é ver como isso fica no .net: Ou, com a sintaxe do lambda:
This message was edited 2 times. Last update was at 16/08/2010 13:36:25
|
@ViniGodoy - Lattes
Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!
Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).
Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 09/09/2011 21:54:26
|
Rhomullo
Smalltalk
Membro desde: 03/06/2011 14:02:19
Mensagens: 1
Offline
|
A Ordenação, fica assim:
O Usuário Digita os Nomes e Ele Mostrar a Ordem por Digitação e a Ordem Alfabética do Nomes Digitados:
import java.text.Collator;
import java.util.*;
import javax.swing.*;
import java.util.Scanner;
public class Alunos {
public static void main(String[] args) {
Scanner ord = new Scanner(System.in);
System.out.println("Digite o 1º Numero: ");
String n1 = ord.next();
System.out.println("Digite o 2º Numero: ");
String n2 = ord.next();
System.out.println("Digite o 3º Numero: ");
String n3 = ord.next();
System.out.println("Digite o 4º Numero: ");
String n4 = ord.next();
System.out.println("Digite o 5º Numero: ");
String n5 = ord.next();
System.out.println("Digite o 6º Numero: ");
String n6 = ord.next();
System.out.println("Digite o 7º Numero: ");
String n7 = ord.next();
System.out.println("Digite o 8º Numero: ");
String n8 = ord.next();
System.out.println("Digite o 9º Numero: ");
String n9 = ord.next();
System.out.println("Digite o 10º Numero: ");
String n10 = ord.next();
List<String> lista = new ArrayList<String>();
lista.add(" "+n1);
lista.add(" "+n2);
lista.add(" "+n3);
lista.add(" "+n4);
lista.add(" "+n5);
lista.add(" "+n6);
lista.add(" "+n7);
lista.add(" "+n ;
lista.add(" "+n9);
lista.add(" "+n10);
//Ordena pela tabela unicode.
Collections.sort(lista);
System.out.println("Lista de Nomes Digitados: "+lista);
//Ordena de acordo com o dicionário
Collections.sort(lista, Collator.getInstance());
System.out.println("Lista Ordenada: "+lista);
}
}
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/09/2011 10:27:34
|
adriano_si
JWizard
![[Avatar]](/images/avatar/4f9ef38edcfc460a00cbb8ed5dee299c.jpg)
Membro desde: 01/10/2006 15:29:40
Mensagens: 2047
Offline
|
Rhomullo wrote:A Ordenação, fica assim:
O Usuário Digita os Nomes e Ele Mostrar a Ordem por Digitação e a Ordem Alfabética do Nomes Digitados:
import java.text.Collator;
import java.util.*;
import javax.swing.*;
import java.util.Scanner;
public class Alunos {
public static void main(String[] args) {
Scanner ord = new Scanner(System.in);
System.out.println("Digite o 1º Numero: ");
String n1 = ord.next();
System.out.println("Digite o 2º Numero: ");
String n2 = ord.next();
System.out.println("Digite o 3º Numero: ");
String n3 = ord.next();
System.out.println("Digite o 4º Numero: ");
String n4 = ord.next();
System.out.println("Digite o 5º Numero: ");
String n5 = ord.next();
System.out.println("Digite o 6º Numero: ");
String n6 = ord.next();
System.out.println("Digite o 7º Numero: ");
String n7 = ord.next();
System.out.println("Digite o 8º Numero: ");
String n8 = ord.next();
System.out.println("Digite o 9º Numero: ");
String n9 = ord.next();
System.out.println("Digite o 10º Numero: ");
String n10 = ord.next();
List<String> lista = new ArrayList<String>();
lista.add(" "+n1);
lista.add(" "+n2);
lista.add(" "+n3);
lista.add(" "+n4);
lista.add(" "+n5);
lista.add(" "+n6);
lista.add(" "+n7);
lista.add(" "+n  ;
lista.add(" "+n9);
lista.add(" "+n10);
//Ordena pela tabela unicode.
Collections.sort(lista);
System.out.println("Lista de Nomes Digitados: "+lista);
//Ordena de acordo com o dicionário
Collections.sort(lista, Collator.getInstance());
System.out.println("Lista Ordenada: "+lista);
}
}
Por, favor, antes de responder novamente leia as regras do fórum e leia os Posts que estão fixos nos fórum. Eles irão lhe ajudar na sobrevivência no GUJ.
Da próxima vez que responder, leve em consideração a data de criação do Post e se o mesmo já não foi respondido de forma satisfatória, como foi o caso desse aqui.
Enfim, não ressucite tópicos que á estão mortos ou já foram resolvidos, a não ser que seja para reviver a dúvida e incrementar alguma coisa realmente nova na questão. Ainda assim seria bom estudar a possibilidade de criar um POst novo.
Abs [] e bem vindo ao GUJ.
|
"É preciso ter mais fé pra acreditar que viemos do nada..."
Blog - http://aohana.wordpress.com/
Padrão de nomenclatura Java - http://www.oracle.com/technetwork/java/codeconventions-139411.html#16712
Doc. Java - http://www.oracle.com/technetwork/java/javase/documentation/index.html
Faça perguntas Inteligentes - http://istf.com.br/perguntas
Sobrevivência no GUJ:
(Regras) http://www.guj.com.br/java/21516-regras-do-forum
(Boa prática) http://www.guj.com.br/java/15477-antes-de-voce-perguntar
(Código fonte) http://www.guj.com.br/java/50115-voce-e-novo-no-guj-vai-criar-um-topico-e-colar-seu-codigo-fonte-leia-aqui-antes-por-favor |
|
|
 |
|
|