El siguiente código implementa el algoritmo de ordenamiento burbuja en una aplicación de consola.
namespace OrdenamientoBurbuja { #region [Bibliotecas de clases] using System; using System.Linq; #endregion /// <summary> /// Clase que encapsula la lógica del algoritmo de ordenamiento burbuja. /// </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 ordenamiento burbuja 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 auxiliar; for (int i = 0; i < vector.Length; i++) { for (int j = 0; j < vector.Length - i - 1; j++) { if (vector[j + 1] < vector[j]) { auxiliar = vector[j + 1]; vector[j + 1] = vector[j]; vector[j] = auxiliar; } } } return vector; } } }
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; } } }
El siguiente código implementa el algoritmo de ordenamiento por inserción en una aplicación de consola.
namespace OrdenacionXInsercion { #region [Bibliotecas de clases] using System; using System.Linq; #endregion /// <summary> /// Clase que encapsula la lógica del método de ordenación por inserció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 inserció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 auxiliar; for (int i = 1; i < vector.Length; i++) { auxiliar = vector[i]; for (int j = i - 1; j >= 0 && vector[j] > auxiliar; j--) { vector[j + 1] = vector[j]; vector[j] = auxiliar; } } return vector; } } }