Método de ordenamiento por selección C#

El siguiente código implementa el algoritmo de ordenamiento por selección en una aplicación de consola.

namespace OrdenacionXSeleccion
{
    #region [Bibliotecas de clases]
    using System;
    using System.Linq;
    #endregion

    /// <summary>
    /// Clase que encapsula la lógica del algoritmo de ordenamiento por selección.
    /// </summary>
    public class Program
    {
        /// <summary>
        /// Método de ejecución principal.
        /// </summary>
        /// <param name="args">Argumentos.</param>
        public static void Main(string[] args)
        {
            Console.WriteLine("Ingresa los numeros a ordenar separados por comas(,) y presiona la tecla Enter.");
            int[] vector = Console.ReadLine().Replace(" ", "").Split(',').Select(x => Convert.ToInt32(x)).ToArray();
            Console.WriteLine();
            Console.WriteLine("Vector ordenado:");
            Console.WriteLine(string.Join(",", Ordenar(vector)));
            Console.WriteLine();
            Console.WriteLine("Presiona una tecla para salir.");
            Console.ReadKey();
        }

        /// <summary>
        /// Método que implementa el algoritmo de ordenación por selección a un vector´.
        /// </summary>
        /// <param name="vector">Vector que contiene los elementos a ordenar.</param>
        /// <returns>Vector ordenado.</returns>
        private static int[] Ordenar(int[] vector)
        {
            int menor, posicion, auxiliar;

            for (int i = 0; i < vector.Length - 1; i++)
            {
                menor = vector[i];
                posicion = i;

                for (int j = i + 1; j < vector.Length; j++)
                {
                    if (vector[j] < menor)
                    {
                        menor = vector[j];
                        posicion = j;
                    }
                }

                if (posicion != i)
                {
                    auxiliar = vector[i];
                    vector[i] = vector[posicion];
                    vector[posicion] = auxiliar;
                }
            }

            return vector;
        }
    }
}

Comentarios (2) -

  • 344835 673585articulo agregado a favoritos, lo imprimir� cuando llegue a la oficina. 746243
  • 887844 430395Soon after study a handful with the content material within your internet internet site now, and that i genuinely such as your method of blogging. I bookmarked it to my bookmark internet internet site list and are checking back soon. Pls appear into my internet site as effectively and tell me what you believe. 961512

Agregar comentario

Loading