Metodo Pente ComboSort

E ae galera!! blz!! Olha estou com um probleminha na implementacao do metodo ComboSort(metodo pente). Na hora que eu comparar os numeros no array ele nao entra na condicao if(). Eu preciso imprimir o numeros de trocas no array. Agradeco a ajuda…

[code]
// Metodo ComboSort
public void ComboSort(int[] numeros) {
boolean troca = true;
int aux = 0;
int espaco = numeros.length;
double divisor = 1.3;
int resultado = 0;
int contTroca = 0;

	do {
		resultado = (int) (espaco / divisor);
		espaco = Math.max(resultado, 1);
		if ((espaco == 9) || (espaco == 10))
			espaco = 11;
		troca = false;
		for (int i = 0; i < numeros.length - espaco; i++){
			if (numeros[i] > numeros[i + espaco]) { // ele nao entra aqui
				contTroca++;
				aux = numeros[i];
				numeros[i] = numeros[i + espaco];
				numeros[i + espaco] = aux;
				troca = true;
				
			}	
			else {
				System.out.println("nao");
			}
		}
		System.out.println("o numero é " + contTroca);
			
	}while((troca != false) && (espaco != 1));
				
}[/code]

Colega creio que um dos seus problemas seja nesse tipo de abordagem:

int espaco = numeros.length; 

Lembra-se que em java a posição 0 no vetor é válido, logo essa inicialização deve ficar como:

int espaco = numeros.length-1;

Caso contrário, provavelmente dará um erro ou não funcionará.
Creio que isso já irá te ajudar a resolver parte do seu problema ou pelo menos tentar identifica-lo com o pé no chão.

Eu acho que você vai ter que reestruturar mais algumas coisas no seu código para ele funcionar da forma que você deseja.

Boa sorte.
Abraços,