Ordenar Vetores

8 respostas
M

Estou fazendo um código de ordenação, no caso o número de elementos foi pré definido por mim, declarando um vetor com 10 elementos ( String []string = new String[10]; ), gostaria de saber como faço para que o usuário digite o número de elementos que quiser, e depois faça a ordenação.

public void sortString(){
String []string = new String[10];

for(int i=0; i<string.length; i++){
    string[i] = JOptionPane.showInputDialog(null,"Digite as palavras:"        ,"Ordenador",JOptionPane.INFORMATION_MESSAGE);
  }	
  Arrays.sort(string); //ordena vetor
   
  for(int i=0; i<string.length; i++){
   JOptionPane.showMessageDialog(null,"Vetor ordenado: "+string[i],"VETOR",JOptionPane.INFORMATION_MESSAGE);
  }

}

8 Respostas

quikkoo
byte byte_num_ele[256];
int num_ele;

System.out.print("digite o numero de elementos: ");
System.in.read(byte_num_ele);
num_ele = Integer.parseInt(new String(byte_num_ele));

String str = new String[num_ele];

... bla bla bla, o resto é igual ao q vc ja fez

a ideia é essa, ou se preferir, pode usar o JOptionPane ao invez d ler direto do terminal

flw, t+

jimmyhc

Eu faria algo assim:

BufferedReader ent;
kk = new BufferedReader(new InputStreamReader(System.in));

System.out.println("Digite qq coisa:");
qqcoisa = Integer.parseInt(kk.readLine());

String str = new String[qqcoisa];

Tenta ae!! :lol:

[]'s

LPJava

ei de uma olhada na api na class Collections. e o metodo sort() nao algo melhor para ordenar quando lembro que eu ordenava na facul na mao grande e sofria tanto… fiquei com raiva ehhehe !!

M

Entendi, a jogada é ler um valor do usuário e passa-lo como valor do vetor,
no caso farei com JOption Pane por que o professor exigiu, mas poderia ser feito através do console como foi dito.
Obrigado pela atenção, a respostas foram de grande ajuda.

I

Por que QuickSort não é aconselhado para vetores de tamanhos pequenos?

ViniGodoy

Na minha opinião, a menos que você vá ordenar centenas de vetores pequenos, qualquer coisa é aconselhável…

O QuickSort é um algoritmo recursivo e pode apresentar uma performance um pouco menor em caso de vetores pequenos. Entretanto, essa diferença de tempo não será considerável, a menos que você vá ordenar diversos vetores.

ViniGodoy

Só mais uma dica. Para ordenar strings, use um Collator, que te dará resultados mais precisos para a lingua portuguesa, como descrito neste artigo.

Ana_Carolina

[color=red]Qual o objetivo dos deslocamentos em bloco ocorridos no método ShellSort?[/color]

Criado 19 de março de 2007
Ultima resposta 21 de mar. de 2007
Respostas 8
Participantes 7