Problema Ordenação

Pessoal estudei o metodo heap sort e estou tentando implementalo fiz tudo certinho mas não tão certinho assim e está ordenando tudo errado vou postar o código para que alguem possa me ajudar.

att

[code]public static void main(String args[]) {

	int vetor[] = criarVetor();
	metodoBolha(vetor);

}

public static int[] criarVetor() {

	int[] vetor = new int[10];

	for (int i = 0; i < 10; i++) {

		vetor[i] = (int) (Math.random() * 100);
	}
	return vetor;
	
}

public static void metodoBolha(int vet[]) {

	boolean houveTroca;

	int aux;

	do

	{
		houveTroca = false;
		for (int i = 0; i < vet.length - 1; i++)

		{
			if (vet[i] > vet[i + 1]) {
				
				aux = vet[i];

				vet[i] = vet[i + 1];

				vet[i + 1] = aux;

				houveTroca = true;

			}

		}

	} while (houveTroca);

	for (int i = 0; i < vet.length; i++) {

		System.out.print(vet[i] + ", ");

	}
}

[/code]

Acho que você postou o algoritmo errado…

Esse é o Bubblesort e está funcionando corretamente, pelos testes que fiz.

desculpa realmente postei o errado eu sem querer postei o errado desculpem - me.

vai ai o código certo

[code]int[] vetor = { 10, 9, 8, 7, 6, 5, 4, 3, 2, 1 };

	int posOrdenada, i, pai, filho, t;

	boolean continuarHeap;

	posOrdenada = vetor.length;

	i = vetor.length % 2;

	do{

		if (i > 0) {

			i = i - 1;

			t = vetor[i];
		}
		else {
			posOrdenada = posOrdenada - 1;

			t = vetor[posOrdenada];

			vetor[posOrdenada] = vetor[0];
		}
			
		
		    pai = i;

			filho = i * 2 + 1;

			continuarHeap = true;

			while (filho > posOrdenada && continuarHeap)

				if ((filho + 1 < posOrdenada) &&

				(vetor[filho + 1] > vetor[filho]))

					filho = filho + 1;

			if (vetor[filho] < t) {

				vetor[pai] = vetor[filho];

				pai = filho;

				filho = pai * 2 + 1;

			}

			else

				continuarHeap = false;

			vetor[pai] = t;

		
		}while (posOrdenada > 1);

	for (i = 0; i < vetor.length; i++) {

		System.out.print(vetor[i] + ", ");

	}

}[/code]

Olá, como vai?

Sugestão.

ArrayList; use Array.sort no vetor em seguida lhe mando exemplo

import java.util.Arrays;

public class ForumTeste {
public static void main (String []args){

    int vet [] = new int[10];    //Vetor com 10 posções

    for (int i = 0 ;i<vet.length;i++){
        vet[i]= (int)(1 + Math.random()*10);  // cada posição do vetor recebe um valor aleatório entre 1 e 10
    }
    Arrays.sort(vet); // ordena vetor;

     for (int i = 0 ;i<vet.length;i++){  // imprime vetor
        System.out.println(vet[i]);
    }



            
}

}

Espero ter ajudado.
Viva o java!