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.
22 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!
saca 10 varos y te lo paso
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 <
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.
hola esta bien explicado pero mi pregunta es
EL PROCDIMIENTO ES EL MISMO PARA EL METODO DE LA SACUDIDA?
esta todo mal son una basura para progrmar
Jajaja…
El 98% de los que dicen eso es porque no pudieron compilar el programa…. el 2% restante son estúpidos trolls
Un saludo!
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
Como hago que se genere un vector de numeros aleatorios (100) y luego los ordene con la burbuja ascendente?