Bubble Sort Melhorado

for(int i = 0; i < tamanho-1; i++) {
controle = true;
for (int j = 0; j < tamanho-i-1; j++) {
if(a[j] > a[j+1]) {
tmp = a[j];
a[j] = a[j+1];
a[j+1] = tmp;
controle = false;
}
}
if(controle == true) {
break;
}
}

Efetue a comparação de desempenho entre os dois algoritmos
BubbleSort:
❖ Utilizando a geração de números aleatórios, crie um array de 1000
elementos, onde cada elemento deverá ser um número entre 0 e 100.
❖ Verifique o tempo de processamento. Para comparação os vetores
precisam ser iguais.
❖ Verifique quantas vezes foi necessário percorrer o vetor para
concluir a ordenação.
Random rnd = new Random (); //Inicia Aleatorio
int x = rnd.nextInt(100); //gera um numero aleatorio (0 - 99)
// Tempo em nano segundo (um bilionésimo de segundo)
long tempo = System.nanoTime();

E qual a dificuldade você está tendo? Supondo que o bubblesort postado já funcione, é só integrá-lo à uma classe, gerar os arrays pedidos e realizar os testes.

Abraço.