Ordenación por shell

Solo disponible en BuenasTareas
  • Páginas : 2 (299 palabras )
  • Descarga(s) : 0
  • Publicado : 2 de mayo de 2011
Leer documento completo
Vista previa del texto
ORDENACIÓN POR SHELL

El método de shell es una versión mejorada del método de inserción directa recibe ese nombre en honor a su autor Donald L. Shell quien lo propuso en 1959.Este método también se conoce con el nombre de inserción con incrementos decrecientes.
En el método de ordenación Shell propone que las comparaciones entre elementos se efectúencon saltos de mayor tamaño pero con incrementos se efectúen con saltos de mayor tamaño pero con incrementos decrecientes, así los elementos quedarán ordenados en el arreglo.Ejemplo:

Se desean ordenarse las siguientes claves del arreglo A: 15, 67, 08, 16, 44, 27, 12, 35, 56, 21, 13, 28, 60, 36, 07, 10

Primera PasadaLos elementos se dividen en 8 grupos:
A: 15, 67, 08, 16, 44, 27, 12, 35 | 56, 21, 13, 28, 60, 36, 07, 10

La ordenación produce:
A: 15, 21, 08, 16, 44,27, 07, 10, 56, 67, 13, 28, 60, 36, 12, 35


Segunda Pasada
Se dividen los elementos en 4 grupos:
A: 15, 21, 08, 16 | 44, 27, 07, 10 | 56, 67, 13, 28 | 60,36, 12, 35


La ordenación produce: A: 15, 21, 07, 10, 44, 27, 08, 16, 56, 36, 12, 28, 60, 67, 13, 35


Tercera Pasada
Se divide los elementos2 grupos
A: 15, 21 | 07, 10 | 44, 27 | 08, 16 | 56, 36 | 12, 28 | 60, 67 | 13, 35

La ordenación produce:
A = 07, 10, 08, 16, 12, 21, 13,27, 15, 28, 44, 35, 56, 36, 60, 67

Cuarta Pasada

Divida los elementos en un solo grupo.

La ordenación produce:
A: 07,08, 10, 12, 13, 15, 16, 21, 27, 28, 35, 36, 44, 56, 60, 67

//Código:
# include
# include
void main (void)
{
int a[15];
int n, inc, i, j, tmp;
cout n;
for (i=1; i
tracking img