¿Cómo escribir un programa de clasificación de burbujas en lenguaje C?
Realice n-1 rondas de comparaciones en una matriz R[n] con n elementos.
En la primera ronda, compare (R[1], R[2]),? (R[2], R[3]),? uno por uno,?…….? (R[N-1], R[N]), el elemento más grande se mueve a R[n].
La segunda ronda, compara (R[1], R[2]),? (R[2], R[3]),? (R[3], R[4]) uno. por uno ,?…….? (R[N-2], R[N-1]), el segundo elemento más grande se mueve a R[n-1].
. . . . . .
Y así sucesivamente hasta que todo el conjunto esté ordenado de pequeño a grande.
La implementación del código específico es la siguiente:
#include
int main(){
int nums [10] = {4, 5, 2, 10, 7, 1, 8, 3, 6, 9};
int i, j, temp;
//Riesgo Algoritmo de clasificación de burbujas: n-1 rondas de comparación
for(i=0; i<10-1; i++){
//n-1- antes de cada ronda de comparación i elementos, es decir, los últimos i elementos que se han ordenado no necesitan compararse
for(j=0; j<10-1-i; j++){
if(núms [j] > núms[j+1]){
temp = núms[j];
núms[j] = núms[j+1] ;
números[j+1] = temp;
}
}
}
// Genera la matriz ordenada
for(i=0; i<10; i++)
{
printf("%d ", nums[i]) ;
}
printf("\n");
devuelve 0;
}