//shellSort //
//Saludos amigos del foro tengo que exponer este método de estructura de datos, y quisiera mostrar el corrimiento de escritorio de este código, me podría ayudar, o explicarme como funciona, se que ordena los números de menor a mayor pero como lo hace. Gracias por sus respuestas saludos//
class Shellsort{
public static void Shellsort (int[] a) {
int salto=a.length/2;
while(salto>=1){
for(int rec=salto;rec<a.length;rec++){
int temp=a[rec];
int j=rec-salto;
while(j>=0&&a[j]>temp){
a[j+salto]=a[j];
j-=salto;
}
a[j+salto]=temp;
}
salto/=2;
}
}
public static void imprime(int []a){
String sal="";
for(int i=0;i<a.length;i++){
if(a
<10)
sal+=" "+a+" ";
else
sal+=a+" ";
}
System.out.println(sal);
}
public static void main (String[] args) {
int a[]={10,20,3,8,48,5,1};
System.out.println("Vector original");
imprime(a);
System.out.println("");
Shellsort(a);
System.out.println("Vector ordenado");
imprime(a);
}