Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

DeLucca

Ordenação por troca

Recommended Posts

Olá pessoal como vai?

 

Estou iniciando meus estudos em java, e parei no bubblesort, porém tenho uma pequena dúvida sobre o entendimento dele,

staticvoidbubbleSort(int[] vetor) {
intaux= 0;
for(inti = 0; i < vetor.length-1; i++) {
for(intj = 0; j < vetor.length-i -1; j++) {
if(vetor[j] > vetor[j+1]) {
aux= vetor[j];
vetor[j] = vetor[j+1];
vetor[j+1] = aux;
}
}
}
}

Basicamente o bubbleSort é ordenação por troca, certo? pelo que estudei dependendo dos elementos no vetor, o resultado ja pode ser obtido antes do final das iterações, ou seja encerrar o processo quando os elementos ja estiverem em ordem.

A minha dúvida é, como eu faço isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

O processo deve parar automaticamente quando ele estiver ordenado. A ideia é você percorrer o array N vezes e ir jogando sempre o maior elemento para o topo e recomeçando a contagem do 0, uma vez que todos os elementos forem ordenados, não vai haver elemento que seja maior que elemento-1 ou seja, seu antecessor sempre será maior que ele e seu sucessor sempre menor.

 

http://pt.wikipedia.org/wiki/Bubble_sort

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.