Estructuras_de_Datos/src/cl/cromer/estructuras/code/shell/ordenar

25 lines
556 B
Plaintext

public void shell() {
int i, j;
int temp;
int h = 1;
while (h <= elementos / 3) {
// Sumatorio de (h * 3 + 1)
h = h * 3 + 1;
}
// Mientras que h es mayor que 0.
while (h > 0) {
for (i = h; i < elementos; i++) {
temp = array[i];
j = i;
while (j > h-1 && array[j-h] >= temp) {
// Ordenar dento el "shell"
array[j] = array[j-h];
j -= h;
}
array[j] = temp;
}
h = (h-1) / 3;
}
}