Ordenação

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]

      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;

essa parte ta gerando os numeros q vao ser ordenados

apos chamar o metodo bolha (q vai ordenar o array) essa parte:

      for (int i=0; i < num.length; i++)
         System.out.print (num[i] + ", ");

vai exibir o resultado…

   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;
            }
         }
      }
   } 

essa parte ordena o array…

o bublesort funciona assim: o for mais externo vai passando por todos os numeros (exceto o ultimo) e vai iniciando entrando, q vai passar por todos os numeros, e vai comparando com o seu proximo, dessa forma, os numeros maiores vao ficando no final, e o array vai ficando ordenado…