Pop

Algoritmos de ordenación en c# - Algoritmo Shell Sort

6. Algoritmo de ordenación Shell Sort 

  •  En este capítulo del curso de programación en c# con visual studio 2017 vamos a continuar viendo algunos algoritmos de ordenación de vectores o arrays. En esta ocasión veremos el algoritmo de de ordenación Shell Sort.
  • El Shell sort es una generalización del ordenamiento por inserción, teniendo en cuenta que  el ordenamiento por inserción es eficiente si la entrada está "casi ordenada". El ordenamiento por inserción es ineficiente, en general, porque mueve los valores sólo una posición cada vez. El algoritmo Shell sort mejora el ordenamiento por inserción comparando elementos separados por un espacio de varias posiciones
  • Una vez visto esto ya podemos ver el vídeo con la explicación:

  • Os dejo el código del algoritmo visto en el vídeo:
      public static void ShellShort()
        {

            int[] array = { 15,50, 17, 72, 12, 23, 54, 76, 75, 43, 8654, 87, 654, 9 };
            mostrar(array);
            Console.WriteLine("");
            ShellShort(array);
            Console.ReadLine();
            mostrar(array);
            Console.ReadLine();
        }

        public static void ShellShort(int[] array)
        {
            int mitad = 0;
            bool ejecutar = false;
            int aux = 0;
            int x = 0;
            mitad = array.Length / 2;
            while (mitad > 0)
            {
                ejecutar = true;
                while (ejecutar)
                {
                    ejecutar = false;
                    x = 1;
                    while (x <= (array.Length - mitad))
                    {
                        if (array[x - 1] > array[(x - 1) + mitad])
                        {
                            aux = array[(x - 1) + mitad];
                            array[(x - 1) + mitad] = array[x - 1];
                            array[(x - 1)] = aux;
                            ejecutar = true;
                        }
                        x++;
                    }
                }
                mitad = mitad / 2;
            }
        }

  • También os dejo el  código del proyecto con todos los algoritmos de ordenación vistos hasta ahora para descargar

No hay comentarios:

Publicar un comentario

Curso .NET Core en C# - 34.Creamos nuestro propio log

34.Creamos nuestro propio log Hola a todos. En este curso, analizaremos todos los conceptos básicos, intermedios y avanzados de  ASP.NET...