Métodos de Ordenação

Bom dia,
Estou com algumas dúvidas referente ao método de ordenação, pelo que andei pesquisando o java tem algumas classes proprias para isso, mais eu gostaria de utilizar o método bolha por exemplo;

Fiz um código de teste logo abaixo mais não sei mais oque fazer para implementa-lo para que ocorra a ordenação.

Alguem poderia dar um empurrão?!

Abraço

então eu teria que criar mais um "for" mandando ele diminuir tipo "for (j=9;j>=0;j–)" se for assim eu ja até tentei esta lógica mais nao deu muito certo :?

Ok Lance,

Muito bem explicado
Agora eu compreendi
Obrigado pela atenção Ok?!

Abraço :wink:

Para ordenar um vetor tente algo como:

int aux = 0;
int i = 0, j = 0;
for (i = 0; i < n - 1; i++) {
         for  (j = i + 1; j < n; j++) {
                 if (v[i] > v[j]) {
                         aux = v[i];
                         v[i] = v[j];
                         v[j] = aux;
                 }
         }
}
            

Cara,
pelo que eu entendi (desculpa se eu entendi errado, mas hoje tá foda hehe) tu passa só uma vez pelo vetor. Tu precisa passar o número de elementos menos 1 vezes.

dá uma testada aí e avisa se funciona :wink:

flw :wink:

[QUOTE]
package apoio;
public class Ordenacao{
public static void main(String args[]){

int vetor[] = new int[10];
int i=0,j=0,aux=0;

vetor[0] = 4;
vetor[1] = 2;
vetor[2] = 14;
vetor[3] = 7;
vetor[4] = 43;
vetor[5] = 23;
vetor[6] = 13;
vetor[7] = 65;
vetor[8] = 9;
vetor[9] = 17;

for (j=0; j<=8; j++){
for (i=0;i<=8;i++){
if(vetor[i] > vetor[i+1]){

aux = vetor[i];
vetor[i] = vetor[i+1];
vetor[i+1] = aux;
}
}
}
for (int k=0; k<vetor.length; k++){

System.out.println(vetor[k]);

}

}
}
[/QUOTE]
Bom cara, assim:
Eu peguei o teu código e alterei.
O que estava errado era o seguinte: Aquele println dentro do if era o que estava te confundindo, pois ele jogava na tela apenas o valor que trocava de lugar, e não todos os valores.
Além disso, tinha apenas um for, o que fazia com que ocorressem poucas alterações: o 2 trocava com o 4, o 23 com o 43, 43 com 13, 65 com 9 e 17.
Então eu coloquei um for por fora, para que passasse várias vezes pelo vetor.
Outra coisa: o teu for ia de 0 a 9, o limite do vetor, então quando i estava na posição 9 e tu testava vetor[i] com vetor de [i+1], tu saia do limite do vetor.

Espero ter ajudado, qualquer coisa grita.

flw :wink:

De nada, qualquer dúvida só falar :wink: