Está en la página 1de 2

ORDENAMIENTO SHELL

DEFINCION:
Se dio el nombre de ordenamiento Shell en honor a su inventor Donald Shell, es un mtodo que
mejora el ordenamiento por burbuja, aunque son de gran similitud pues con el Shell sort tambin
se comparan e intercambian dos nmeros (bien sea de menor a mayor o viceversa), el vector
divide el vector en pequeos subconjuntos para realizar saltos amplios para las comparaciones e
intercambios hasta finalizar con el vector ordenado.
FUNCIONAMIENTO:
1. Se define en el principio de tamao de los saltos a realizar en la funcin para dividir el
vector:
Vec[k];
K=es el tamao del vector;
Salto=k/2; se defini el salto lo divide inicialmente a la mitad
Nota: el caso de que sea impar el tamao del vector ej.
Salto=7/2=3.5 se redondea el entero ms cercano inferior salto=3.
2. Existe un ciclo externo que gira en tanto el salto es diferente de 0 (cero):
While (salto!=0);
3. Seguido hay un ciclo interno que pasa por cada posicin iniciando en 0 hasta que el
contador +salto sea igual al tamao del vector
For (i=0; i<n-salto; i++);
4. Dentro del ciclo interno hay un condicional un if con la condicional de que si el array[i] es
mayor al array[i+salto] lo intercambie y as los elementos menores quedan al a izquierda:
If (array[i]>array[i+salto])
{
Temporal=array[i];
Array[i] =array [i+salto];
Array [i+salto] =temporal;
Cambio=1;
}

5. Se revisa si se realiz un intercambio, si fue as se repetirn los ciclos delo contrario el
salto disminuir as:
Salto=salto/2; O salto =salto -1;
Y comenzar de nuevo el proceso, obsrvese que el salto va decreciendo hasta hacerse lo ms
pequeo sea de 1 en 1.
PRUEBA DE ESCRITORIO:

COMPARACIN CON EL MTODO DE ORDENACIN BURBUJA:
http://cg.scs.carleton.ca/~morin/misc/sortalg/

También podría gustarte