Páginas

NIMADRES

Hacer un Metodo burbuja en C#

La Ordenación de burbuja (Bubble Sort en inglés) es un sencillo algoritmo de ordenamiento. Funciona revisando cada elemento de la lista que va a ser ordenada con el siguiente, intercambiándolos de posición si están en el orden equivocado. Es necesario revisar varias veces toda la lista hasta que no se necesiten más intercambios, lo cual significa que la lista está ordenada. Este algoritmo obtiene su nombre de la forma con la que suben por la lista los elementos durante los intercambios, como si fueran pequeñas "burbujas". También es conocido como el método del intercambio directo. Dado que solo usa comparaciones para operar elementos, se lo considera un algoritmo de comparación, siendo el más sencillo de implementar.

Anteriormente ya había hecho una publicación de un método burbuja en C++, así que todo aquel que anteriormente ya hubiera hecho un método burbujamétodo rápido, o cualquiera, se podrá dar cuenta que es bastante fácil hacerlo en C#, solo es cuestión de acostumbrarse a la sintaxis que maneja C#. Eh aquí el ejemplo.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1{
    class Program{
        static void Main(string[] args){
            Console.ForegroundColor = ConsoleColor.Green;
            string linea;
            int limite;
            Console.WriteLine("Metodo Burbuja en C#... \n");
            Console.Write("Ingresa el limite: ");
            linea = Console.ReadLine();
            limite = int.Parse(linea);
            Console.ForegroundColor = ConsoleColor.Blue;
            int[] arreglo = new int[limite];
            for (int i = 0; i < limite; ++i){
                Console.Write("{0} : ", i+1);
                linea = Console.ReadLine();
                arreglo[i] = int.Parse(linea);
            }
            for (int i = 0; i < limite; ++i){
                for (int j = i; j < limite; ++j){
                    if (arreglo[i] > arreglo[j]){
                        int aux = arreglo[i];   
                        arreglo[i] = arreglo[j];
                        arreglo[j] = aux;
                    }
                }
            }
            Console.ForegroundColor = ConsoleColor.DarkRed;
            for (int i = 0; i < limite; ++i)
                Console.WriteLine("\n{0} : {1}", i+1, arreglo[i]);
            Console.ReadKey();
        }
    }
}
Esta seria la salida del programa:


1 comentario: