Red de conocimiento informático - Computadora portátil - Código de clasificación de burbujas en lenguaje C

Código de clasificación de burbujas en lenguaje C

#includelt;stdio.hgt;?

void main()?

{?

int a[10];?

int i, j, t;?

printf("ingrese 10 números:\n");?

for(i=0; ilt; 10; i )?

scanf("d",amp; a[i]);

for(j=0;jlt;9;j) /*Realizar 9 veces Bucle para implementar 9 comparaciones*/?

for(i=0;ilt;9-j;i) /*Realizar comparaciones de 9-j en cada pasada*/?

if (a[i]gt; a[i 1]) /*Compara dos números adyacentes si quieres descender, simplemente cámbialo a a[i]lt; >{?

t=a[i];?

a[i]=a[i 1];?

a[i 1]= t;?

}?

printf("los números ordenados:\n");?

for(i=0;ilt;10;i )?

printf(" d", a[i]);

}

Información ampliada:

Operación del algoritmo de clasificación de burbujas

1. Compara elementos adyacentes. Si el primero es más grande (más pequeño) que el segundo, cámbialos ambos.

2. Haz el mismo trabajo para cada par de elementos adyacentes, desde el primer par al principio hasta el último par al final. Una vez completado este paso, el elemento final será el número más grande (más pequeño).

3. Repita los pasos anteriores para todos los elementos, excepto el último elemento seleccionado (ordenado).

4. Continúe repitiendo los pasos anteriores para cada vez menos elementos (elementos desordenados) cada vez hasta que no haya ningún par de números para comparar y la secuencia finalmente esté ordenada.

Representación simple

#include lt;stdio.hgt;

void swap(int *i, int *j)

{

int temp = *i;

*i = *j;

*j = temp;

}

int main()

{

int a[10] = {2, 1, 4, 5, 6, 9, 7, 8, 7, 7} ;

int i, j;

for (i = 0; i lt; 10; i)

{

for ( j = 9; j gt; i; j--)//Burbuja de atrás hacia adelante

{

if (a[j] lt; a[j-1] )

{

intercambiar(y a[j], y a[j-1]);

}

}

}

for (i = 0; i lt; 10; i)

{

printf("d\n ", a[i]);

}

return 0;

}Clasificación de burbujas - Enciclopedia Baidu