Olá, alguém pode me ajudar com o programa abaixo?
Gostaria que fossem feitos comentários linha a linha pra eu poder entender melhor…
Obrigado
[code]class Bubblesort
{
public static void main (String args [])
{
int num [] = new int [7];
num [0] = 6;
num [1] = 7;
num [2] = 4;
num [3] = 3;
num [4] = 5;
num [5] = 2;
num [6] = 1;
bolha (num);
for (int i=0; i < num.length; i++)
System.out.print (num[i] + ", ");
}
public static void bolha (int numeros [])
{
final int n = numeros.length;
int aux;
for (int i=0; i < n-1; i++)
{
for (int j=0; j < n-1-i; j++)
{
if (numeros [j] > numeros [j+1])
{
aux = numeros [j];
numeros[j] = numeros[j+1];
numeros [j+1] = aux;
}
}
}
}
}[/code]
[color=“red”]editado por Felipe: use bbcode para melhorar a visualizacao do codigo[/color]
Oi
hummmm, por favor, evite duplicar posts amigo…
T+
Desculpa… mas é urgente o negócio…
Ae cara, posso até da uma comentada pra ti, mas não vai ajudar de nada. Tu sabes como funciona o Bubblesort?! Acho que não, portanto vou tentar explicar com poucas palavras:
Ele pega o vetor e vai comparando o elemento da posição i com o da posição i+1, se o elemento da posição i+1 for menor do que o da posição i, eles trocam de lugar, e isso é feito até que o vetor esteja ordenado.
class Bubblesort
{
public static void main (String args [])
{
int num [] = new int [7];
num [0] = 6;
num [1] = 7;
num [2] = 4;
num [3] = 3;
num [4] = 5;
num [5] = 2;
num [6] = 1;
// até aqui só foram colocados os valores em cada posição do vetor
bolha (num); // chama o método "bolha" e passa por parametro o vetor de inteiros definido acima
// esse for escreve o vetor ordenado na tela
for (int i=0; i < num.length; i++)
System.out.print (num[i] + ", ");
}
public static void bolha (int numeros [])
{
final int n = numeros.length; // pega tamanho do vetor e coloca em n
int aux;
for (int i=0; i < n-1; i++)
{
for (int j=0; j < n-1-i; j++)
{
if (numeros [j] > numeros [j+1])
{
// como expliquei la no inicio, aqui é como funciona o bubblesort. Este aux, como tu deves saber, serve apenas como um auxiliar para tu poder trocar os elementos de i com o de i+1.
aux = numeros [j];
numeros[j] = numeros[j+1];
numeros [j+1] = aux;
}
}
Feito meu! espero ter ajudado!
}
}
}