SlideShare ist ein Scribd-Unternehmen logo
1 von 9
El método de Shell es una versión mejorada del
método de inserción.
El nombre de Método Shell lo recibe en honor a su
creador, Donald L. Shell.

Shell lo propuso por primera vez en 1959 en una
publicación en la revista Comunications of the ACM.

.
Es un algoritmo de ordenación interna, se basa en
comparaciones e intercambios aunque también puede
realizar ordenación externa.

Consiste en la disminución de saltos al ir comparando
los   elementos    e    intercambiar     los   mismos
continuamente hasta llegar al arreglo solicitado.

Es considerado uno de los métodos mas eficientes
aunque menos ocupado que otros.
Paso 1:    9   8   7   6   5   4   3   2   1   0   id=id+1/2=5


Paso 2 :   4   3   2   1   0   9   8   7   6   5   id=id+1/2=3


Paso 2 :   4   3   2   1   0   6   5   7   9   8   id=id+1/2=3


Paso 2 :   4   0   2   1   3   6   5   7   9   8   id=id+1/2=3


Paso 3 :   1   0   2   4   3   6   5   7   9   8   id=id+1/2=2
Paso 4 :   1   0   2   4   3   6   5   7   9   8   id=id+1/2=1


Paso 4 :   1   0   2   4   3   6   5   7   8   9   id=id+1/2=1


Paso 4 :   1   0   2   4   3   5   6   7   8   9   id=id+1/2=1


Paso 4 :   1   0   2   3   4   5   6   7   8   9   id=id+1/2=1


Paso 5 :   0   1   2   3   4   5   6   7   8   9
Shell (n,x)



      Id = n



idn =(int) (id +1) /2



      b=i=0
j = n – i -1
 k = j - idn


               si   tmp = x (k)
 x(k)>               x (k) = x(j)
  x(j)               x(j) = tmp


    i=i+1                 b=b+1




   k>0
id=idn



 b=0




idn = 1



  FIN
#include "librerias.h"

void sort_shell(double *m,int n)
{
           int incr=n/2,p,j;
           double tmp;
           do{
                       for(p=incr+1;p<n;p++)
           {
                       tmp=m[p];
                       j=p.incr;
                       While((j>=0) && (tmp<m[j];
                       {
                                  m(j+incr)=[j];
                                  j.=incr;
                       }
                       m[j+incr]=tmp;
           }
           incr/=2;
           }
           while(incr>0);
}
YURY KARINA GUERRERO

Weitere ähnliche Inhalte

Ähnlich wie Método Shell ordenación

informe unidad 5 -Metodos de ordenamiento-
informe unidad 5 -Metodos de ordenamiento- informe unidad 5 -Metodos de ordenamiento-
informe unidad 5 -Metodos de ordenamiento- Eliu Osseas Puc Puc
 
Informe metodos de ordenamiento
Informe metodos de ordenamientoInforme metodos de ordenamiento
Informe metodos de ordenamientoeliezerbs
 
Informe metodos de ordenamiento
Informe metodos de ordenamientoInforme metodos de ordenamiento
Informe metodos de ordenamientoeliezerbs
 
Informe tecnico u 5-victor uex
Informe tecnico u 5-victor uexInforme tecnico u 5-victor uex
Informe tecnico u 5-victor uexvictoruex
 
ORM Doctrine
ORM DoctrineORM Doctrine
ORM DoctrineDecharlas
 
Arduino uno 2 estudiantes
Arduino uno 2 estudiantesArduino uno 2 estudiantes
Arduino uno 2 estudiantesCiraBringas2
 
Informe minishell
Informe minishellInforme minishell
Informe minishellAlex Pin
 
Ejercicios punteros 1a11, lenguaje C
Ejercicios punteros 1a11, lenguaje CEjercicios punteros 1a11, lenguaje C
Ejercicios punteros 1a11, lenguaje Crasave
 
Eliminacion Gaussiana en C
Eliminacion Gaussiana en CEliminacion Gaussiana en C
Eliminacion Gaussiana en CRaInti78
 
Ej1 t2 l3-1
Ej1 t2 l3-1Ej1 t2 l3-1
Ej1 t2 l3-1jvidalcc
 
Problemas+resueltos+de+c$2 b$2b
Problemas+resueltos+de+c$2 b$2bProblemas+resueltos+de+c$2 b$2b
Problemas+resueltos+de+c$2 b$2bFRESH221 C.R
 
Problemas resueltos de c++
Problemas  resueltos de c++Problemas  resueltos de c++
Problemas resueltos de c++johnny herrera
 
Algoritmos De Ordenacion
Algoritmos De OrdenacionAlgoritmos De Ordenacion
Algoritmos De Ordenacionlichic
 

Ähnlich wie Método Shell ordenación (20)

informe unidad 5 -Metodos de ordenamiento-
informe unidad 5 -Metodos de ordenamiento- informe unidad 5 -Metodos de ordenamiento-
informe unidad 5 -Metodos de ordenamiento-
 
Equipo7 Arduino
Equipo7 ArduinoEquipo7 Arduino
Equipo7 Arduino
 
Informe metodos de ordenamiento
Informe metodos de ordenamientoInforme metodos de ordenamiento
Informe metodos de ordenamiento
 
Informe metodos de ordenamiento
Informe metodos de ordenamientoInforme metodos de ordenamiento
Informe metodos de ordenamiento
 
Presentación1
Presentación1Presentación1
Presentación1
 
Informe tecnico u 5-victor uex
Informe tecnico u 5-victor uexInforme tecnico u 5-victor uex
Informe tecnico u 5-victor uex
 
Programacion ii
Programacion iiProgramacion ii
Programacion ii
 
ORM Doctrine
ORM DoctrineORM Doctrine
ORM Doctrine
 
Arduino uno 2 estudiantes
Arduino uno 2 estudiantesArduino uno 2 estudiantes
Arduino uno 2 estudiantes
 
Semana 6 Módulos en Python Entrega 1
Semana 6   Módulos en Python Entrega 1Semana 6   Módulos en Python Entrega 1
Semana 6 Módulos en Python Entrega 1
 
Informe minishell
Informe minishellInforme minishell
Informe minishell
 
Informe 2 da unidad lp
Informe 2 da unidad lpInforme 2 da unidad lp
Informe 2 da unidad lp
 
Ejercicios punteros 1a11, lenguaje C
Ejercicios punteros 1a11, lenguaje CEjercicios punteros 1a11, lenguaje C
Ejercicios punteros 1a11, lenguaje C
 
Eliminacion Gaussiana en C
Eliminacion Gaussiana en CEliminacion Gaussiana en C
Eliminacion Gaussiana en C
 
Ejercicio 1
Ejercicio 1Ejercicio 1
Ejercicio 1
 
Ej1 t2 l3-1
Ej1 t2 l3-1Ej1 t2 l3-1
Ej1 t2 l3-1
 
Problemas+resueltos+de+c$2 b$2b
Problemas+resueltos+de+c$2 b$2bProblemas+resueltos+de+c$2 b$2b
Problemas+resueltos+de+c$2 b$2b
 
Problemas resueltos de c++
Problemas  resueltos de c++Problemas  resueltos de c++
Problemas resueltos de c++
 
Algoritmos De Ordenacion
Algoritmos De OrdenacionAlgoritmos De Ordenacion
Algoritmos De Ordenacion
 
Escáner con Lego Mindstorm
Escáner con Lego MindstormEscáner con Lego Mindstorm
Escáner con Lego Mindstorm
 

Método Shell ordenación

  • 1. El método de Shell es una versión mejorada del método de inserción. El nombre de Método Shell lo recibe en honor a su creador, Donald L. Shell. Shell lo propuso por primera vez en 1959 en una publicación en la revista Comunications of the ACM. .
  • 2. Es un algoritmo de ordenación interna, se basa en comparaciones e intercambios aunque también puede realizar ordenación externa. Consiste en la disminución de saltos al ir comparando los elementos e intercambiar los mismos continuamente hasta llegar al arreglo solicitado. Es considerado uno de los métodos mas eficientes aunque menos ocupado que otros.
  • 3. Paso 1: 9 8 7 6 5 4 3 2 1 0 id=id+1/2=5 Paso 2 : 4 3 2 1 0 9 8 7 6 5 id=id+1/2=3 Paso 2 : 4 3 2 1 0 6 5 7 9 8 id=id+1/2=3 Paso 2 : 4 0 2 1 3 6 5 7 9 8 id=id+1/2=3 Paso 3 : 1 0 2 4 3 6 5 7 9 8 id=id+1/2=2
  • 4. Paso 4 : 1 0 2 4 3 6 5 7 9 8 id=id+1/2=1 Paso 4 : 1 0 2 4 3 6 5 7 8 9 id=id+1/2=1 Paso 4 : 1 0 2 4 3 5 6 7 8 9 id=id+1/2=1 Paso 4 : 1 0 2 3 4 5 6 7 8 9 id=id+1/2=1 Paso 5 : 0 1 2 3 4 5 6 7 8 9
  • 5. Shell (n,x) Id = n idn =(int) (id +1) /2 b=i=0
  • 6. j = n – i -1 k = j - idn si tmp = x (k) x(k)> x (k) = x(j) x(j) x(j) = tmp i=i+1 b=b+1 k>0
  • 8. #include "librerias.h" void sort_shell(double *m,int n) { int incr=n/2,p,j; double tmp; do{ for(p=incr+1;p<n;p++) { tmp=m[p]; j=p.incr; While((j>=0) && (tmp<m[j]; { m(j+incr)=[j]; j.=incr; } m[j+incr]=tmp; } incr/=2; } while(incr>0); }