Red de conocimientos turísticos - Información de alquiler - Explicación en lenguaje C del método de clasificación de burbujas

Explicación en lenguaje C del método de clasificación de burbujas

Ya que tengo que responder en términos sencillos, déjame darte una metáfora simple.

Metáfora

Si eres profesor de educación física, hay una fila de 10 estudiantes parados aleatoriamente frente a ti, de diferentes alturas. Si desea utilizar la clasificación de burbujas para ponerlas en cola de menor a mayor, puede hacerlo.

La primera pasada:

De izquierda a derecha, compara el primero con el segundo. Si el que está más alto, muévelo hacia la derecha, luego compara el segundo con. el tercero, si es más alto, y luego cambie a la derecha. Por analogía, después del primer pase, puede asegurarse de que el más alto se mueva al final de la cola. Por ejemplo, su compañero de clase Yao*ming.

La segunda vez:

Si yo fuera profesor de educación física, Yao*ming podría jugar con su teléfono móvil (jaja), porque tiene garantizado ser el más alto en la primera. redondo, y Ya de pie al final. Entonces solo necesito hacer la primera acción nuevamente para los primeros 9 estudiantes, y luego puedes garantizar encontrar el segundo estudiante más alto y moverlo a la izquierda de Yao*ming. Una analogía.

Comentario breve

El llamado burbujeo consiste en simular pequeñas burbujas en un estanque. Puedes suponer que los más pequeños corren más rápido y los más grandes corren más lento. Luego se forma una serie de burbujas de diferentes tamaños desde el fondo hasta la superficie.

Comentarios de captura de pantalla

bubble_sort(A)//La función se llama clasificación de burbujas y necesita pasar una matriz A como parámetro

{

para (i=1 a N-1) // 10 personas, de hecho, es suficiente hacer cola durante 9 rondas. Solo una persona no necesita hacer cola en la última ronda.

{

haschang= false;// Utilice una variable lógica para registrar si hay intercambio de datos durante el proceso de clasificación, comenzando con false

for(j=1 to N-i)// El número de personas a clasificar disminuye en cada ronda, i aumenta, por lo que N-i disminuye cada vez en el bucle interno

{

if(A[j]>A[j +1])//Si el elemento j de A es posterior a Si es más grande, intercambia las posiciones

{

temp=A[j];//Haz una copia de seguridad de A[j] primero

A[j] =A[j+1];//Luego instala A[j+1] en A[j]

A[j +1]=temp;//Finalmente coloque la temperatura de copia de seguridad original Vaya a A[j+1] para implementar el intercambio

haschange=true;//Se ha producido un intercambio de datos y se ha modificado la identificación .

}

}

}

Buena suerte al cartel original.