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
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
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.
11 Comentarios | deja el tuyo



El ordenamiento que proponés no es ascendente, es DESCENDENTE.
Va de MAYOR a MENOR.
Gracias, ya lo corrijo
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
gracias m sirvio de muxo su programa
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?
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!
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….
tenemos que hacer un analisis sobre el metodo burbuja me podria dar un ejemplo
alguien tendra esto mismo, pero que no sea en modo de consola sino en c# Visual???
Agradeceria el envio de ese codigo.
Este metodo de ordenamiento esta bien pero no es descendente sino ascendente.
Para que sea descendente hay que intercambiar el simbolo de > por <