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

Clasificación de burbujas en lenguaje C.

#includelt;stdio.hgt;?

voidmain()?

{?

inta[10];? p>

inti, j, t;?

printf("input10numbers:\n");?

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

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

for(j=0;jlt;9;j)/*Realice 9 bucles para lograr 9 comparaciones */?

for(i=0;ilt;9-j;i)/*Realizar comparaciones 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;a[i 1]*/?

{?

p>

t=a[i];?

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

a[i 1]=t; ?

}?

printf("losnúmerosordenados:\n");?

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

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

}

Información ampliada:

El funcionamiento 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

#includelt;stdio.hgt;

voidswap(int*i, int*j)

{< / p>

inttemp=*i;

*i=*j;

*j=temp;

}

intmain()

{

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

inti,j;

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

{

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

{

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

{

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

}

}

}

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

{

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

}

return0;

}Clasificación de burbujas - Enciclopedia Baidu