Ordenamiento de Shell Sort.
Proceso paso a paso de ordenamiento según el algoritmo de Shell.
El ordenamiento Shell (Shell sort en inglés) es un algoritmo de ordenamiento.
El método se denomina Shell en honor de su inventor Donald Shell.
Su implementación original, requiere O(n2) comparaciones e intercambios en el peor caso.
Código:
package start;
import java.util.Random;
public class ShellSort {
static Random rd=new Random();
public static void ingresar(int A[]) {
for (int i = 0; i < A.length; i++) {
A[i]=rd.nextInt(100);
}
}
public static void mostrar(int A[]){
for (int i = 0; i < A.length; i++) {
System.out.print(A[i]+" ");
}
}
public static void shell(int A[]){
int k=(A.length/2),i=0,j=0,l=0,aux;
while(k>0){
for(i=k;i=0) {
l=j+k;
if(A[j]<=A[l]){
j--;
}
else{
aux=A[j];
A[j]=A[l];
A[l]=aux;
j=j-k;
}
}
}
k=k/2;
}
}
public static void main(String[] args) {
int A[]=new int[9];
ingresar(A);
System.out.println("VEXTOR ORIGINAL");
mostrar(A);
shell(A);
System.out.println("\nVECTOR ORDENADO");
mostrar(A);
}
}