gentoo linux, java, software libre y otras hierbas
nov, 12 2008 - 11:48 am

Ordenar arreglos C# – Método burbuja

En el siguiente ejemplo se muestra cómo realizar el ordenamiento de arreglos de enteros, usando el método burbuja en C#.

Ejemplo…

using System;
public class OrdenamientoBurbuja
{
  static void Main()
  {
     int[] a =  { 54, 6, 4, 8, 10, 12, 89, 68, 45, 37 };
     string salida = "Valores de los items originales\n";
     for ( int i = 0; i < a.Length; i++ )
        salida += "   " + a[ i ];
     // ordenar elementos del arreglo
     OrdenarBurbuja( a );
     salida += "\n\nValores de los items en orden descendente\n";
     for ( int i = 0; i < a.Length; i++ )
        salida += "   " + a[ i ];
     Console.WriteLine(salida);
  } // fin del metodo main
  // ordenar elementos de un arreglo con el metodo burbuja
  static public void OrdenarBurbuja( int[] b )
  {
     for ( int pasadas = 1; pasadas < b.Length; pasadas++ ) // pasadas
        for ( int i = 0; i < b.Length - 1; i++ )
           if ( b[ i ] > b[ i + 1 ] )      // comparar
              intercambio( b, i );         // intercambiar
  }
  // intercambio de dos elementos en un arreglo
  static public void intercambio( int[] c, int primero )
  {
     int temp;      // variable temporal para el intercambio
     temp = c[ primero ];
     c[ primero ] = c[ primero + 1 ];
     c[ primero + 1 ] = temp;
  }
}

Resultado…

Valores de los items originales
54 6 4 8 10 12 89 68 45 37

Valores de los items en orden descendente
89 68 54 45 37 12 10 8 6 4

Descargar código fuente

Los ejercicios utilizados en este post están basados en ejemplos del libro C# How to Program de Deitel. Se pone a disposición la descargar del programa original, desarrollado para trabajar sobre Visual Studio de Microsoft en plataformas Windows, y se encuentra en inglés. La versión simplificada está basada en la original, pero sin código basura insertado por Visual Studio, se encuentra en español y ha sido probada sobre Gnu/Linux usando Mono.

22 Comentarios | deja el tuyo

Un enlace entrante

21 Comentarios en “Ordenar arreglos C# – Método burbuja”

  1. Lentucky dice:

    El ordenamiento que proponés no es ascendente, es DESCENDENTE.

    Va de MAYOR a MENOR.

  2. katiusca dice:

    buenas tardes necesito ordenar 50 numeros por el metodo de la burbuja el visual basic. y no se como hacerlo sera que me pueden ayudar

  3. Xiomy dice:

    gracias m sirvio de muxo su programa

  4. Danii dice:

    esta super explicado muxas gracias ahora comprendo, pero lo q no entiendo es si se hace ascendiente deberiamos solo hacer el cambio ( i = a – 1) para q lo realice de ascendente cierto?

  5. luismiguel dice:

    Heee Porfavor la microsoft me esta dando lo examenes y necesito k me digan la clase k sirve para ordenar de mayos ha menor creo k es listdecode algo asi ,es programando en “windosw form” hay k ordenar de mayos ha menor con 3″textbox” y es un problema alguien me dice esa clase!

  6. Peter Chirinos dice:

    Señores para ordenar de forma ascendente solo tienen que cambiar un simbolo:
    Antes:
    if ( b[ i ] > b[ i + 1 ] ) // comparar
    Ahora
    if ( b[ i ] < b[ i + 1 ] ) // comparar

    Suerte….

  7. yaira dice:

    tenemos que hacer un analisis sobre el metodo burbuja me podria dar un ejemplo

  8. fernando dice:

    alguien tendra esto mismo, pero que no sea en modo de consola sino en c# Visual???
    Agradeceria el envio de ese codigo.

  9. Lucas Daniel Feliz dice:

    Este metodo de ordenamiento esta bien pero no es descendente sino ascendente.
    Para que sea descendente hay que intercambiar el simbolo de > por <

  10. pepito el de los chistes dice:

    ps sta bueno pero como le hago para que me diga de un total de 9 numeros cual es el mayor y en que posicion se encuentra.

  11. sajid dice:

    hola esta bien explicado pero mi pregunta es
    EL PROCDIMIENTO ES EL MISMO PARA EL METODO DE LA SACUDIDA?

  12. ever dice:

    esta todo mal son una basura para progrmar

  13. alfred dice:

    Hola Necesito que me ayuden con metods de ordenamiento de vector en c# ingresando N valores al vector. como ejemplo el d burbuja, quicksort y el shell

  14. wilfredo dice:

    Como hago que se genere un vector de numeros aleatorios (100) y luego los ordene con la burbuja ascendente?

¡Déjanos tu comentario!