Duvidas Bubble Sort

Senhores, boa noite, estou fazendo um codigo para Bubble Sort, porém não está apresentando a reposta que estou esperando !
Pode ser que minha logica esteja incorreta. Já escrevi várias vezes o codigo na não para entender o problema, so que não consigo ver o erro. Poderiam vcs olhar meu codigo e ver aonde estou errando. Obrigado desde já !

public class BubbleSort{

	public static void main(String args[]){
		
		int array[] = {4,1,3,2};
		int armazena = 0;
		
		for(int cont = 0; cont < array.length; cont++){
			System.out.println("Array original posicao: " + cont + " eh: " + array[cont]);
		}
		
		System.out.println("\n\n");
		
		for(int passo = 1; passo < array.length; passo++){
			for(int elemento = 0; elemento < array.length - 1; elemento++){
				if(array[elemento] > array[elemento + 1]){
					armazena = array[elemento];
					array[elemento] = array[elemento + 1];
					array[elemento + 1] = armazena;
					
					System.out.println("Valores da Array organizada: " + array[elemento]);
				}
			}
		}
	}
}

Seu algoritmo esta certo, vc so esta mostrando errado.

[code]public class BubbleSort {

public static void main(String args[]) {

	int array[] = { 4, 1, 3, 2 };
	int armazena = 0;

	for (int cont = 0; cont < array.length; cont++) {
		System.out.println("Array original posicao: " + cont + " eh: "
				+ array[cont]);
	}

	System.out.println("");

	for (int passo = 1; passo < array.length; passo++) {
		for (int elemento = 0; elemento < array.length - 1; elemento++) {
			if (array[elemento] > array[elemento + 1]) {
				armazena = array[elemento];
				array[elemento] = array[elemento + 1];
				array[elemento + 1] = armazena;
			}// if
		}// for
	}// for

	System.out.println("");

	for (int cont = 0; cont < array.length; cont++) {
		System.out.println("Array original posicao: " + cont + " eh: "
				+ array[cont]);
	}

}

}[/code]

Testei aqui e funcionaou

Opa, vlw ae, funcionou!