Algoritmo de Java de clasificación de burbujas

1. Compare dos elementos adyacentes e intercambie el elemento con mayor valor a la derecha.

2. Compare dos números adyacentes en secuencia, colocando el número decimal al frente y el número grande atrás. Es decir, en el primer viaje: primero compare los números primero y segundo, ponga el decimal antes del número grande. Luego compare los números segundo y tercero, ponga el decimal antes del número grande, y así sucesivamente, hasta que compare los dos últimos números, ponga el decimal antes del número grande. Repita el primer paso hasta que se complete toda la clasificación.

3. Una vez completada la primera comparación, el último número debe ser el número más grande de la matriz, por lo que el último número no participa en la comparación durante la segunda comparación;

Una vez completada la segunda comparación, el penúltimo número también debe ser el segundo número más grande de la matriz, por lo que los dos últimos números no están involucrados en la comparación durante la tercera comparación;

Y así sucesivamente

4. Ejemplo: para ordenar la matriz: int [] arr = {6,3,8,2,9,1};   

Primer tipo:

    Primer tipo: se comparan 6 y 3, 6 es mayor que 3, posición de intercambio: 3 6 8 2 9 1

    Segundo tipo: se comparan 6 y 8, 6 es menor que 8, no intercambian posiciones: 3 6 8 2 9 1

    El tercer tipo: se comparan 8 y 2, 8 es mayor que 2, posición de intercambio: 3 6 2 8 9 1

    Cuarto tipo: se comparan 8 y 9, 8 es menor que 9, no intercambian posiciones: 3 6 2 8 9 1

    Quinto tipo: comparación 9 y 1: 9 es mayor que 1, posición de intercambio: 3 6 2 8 1 9

    Se hicieron un total de 5 comparaciones en el primer viaje, clasificando los resultados: 3 6 2 8 1 9

-------------------------------------------------- -------------------

Ordenar en el segundo pase:

    Clasificación por primera vez: se comparan 3 y 6, 3 es menor que 6 y no hay posiciones de intercambio: 3 6 2 8 1 9

    Segundo tipo: se comparan 6 y 2, 6 es mayor que 2, posición de intercambio: 3 2 6 8 1 9

    El tercer tipo: se comparan 6 y 8, 6 es mayor que 8, no intercambian posiciones: 3 2 6 8 1 9

    Cuarto tipo: se comparan 8 y 1, 8 es mayor que 1, posición de intercambio: 3 2 6 1 8 9

    En el segundo viaje, se realizaron un total de 4 comparaciones Resultados de clasificación: 3 2 6 1 8 9

-------------------------------------------------- -------------------

Ordenar en el tercer pase:

    Primer tipo: se comparan 3 y 2, 3 es mayor que 2, posición de intercambio: 2 3 6 1 8 9

    La segunda clasificación: se comparan 3 y 6, 3 es menor que 6, no intercambian posiciones: 2 3 6 1 8 9

    El tercer tipo: se comparan 6 y 1, 6 es mayor que 1, posición de intercambio: 2 3 1 6 8 9

    En el segundo viaje, se realizaron un total de 3 comparaciones Resultados de clasificación: 2 3 1 6 8 9

-------------------------------------------------- -------------------

Cuarto tipo:

    Clasificación por primera vez: se comparan 2 y 3, 2 es menor que 3, no intercambian posiciones: 2 3 1 6 8 9

    Segundo tipo: se comparan 3 y 1, 3 es mayor que 1, posición de intercambio: 2 1 3 6 8 9

    Se hicieron un total de 2 comparaciones en el segundo viaje, clasificando los resultados: 2 1 3 6 8 9

-------------------------------------------------- -------------------

Clasificación en el quinto pase:

    Primer tipo: se comparan 2 y 1, 2 es mayor que 1, posición de intercambio: 1 2 3 6 8 9

    Se realizaron un total de 1 comparaciones en el segundo viaje, clasificando los resultados: 1 2 3 6 8 9

-------------------------------------------------- -------------------

Resultado final: 1 2 3 6 8 9

-------------------------------------------------- -------------------

5. Código

    int[] arr = { 2, 8, 9, 6, 3, 1 };
    int temp = -1;
for (int i = 0; i < arr.length; i++) {
	for (int j = i + 1; j < arr.length; j++) {
		if (arr[i] > arr[j]) {
			temp = arr[i];
			arr[i] = arr[j];
			arr[j] = temp;
		}
	    }
        }
System.out.println(Arrays.toString(arr));

 

Publicado 12 artículos originales · ganó 9 · 10 mil visitas

Supongo que te gusta

Origin blog.csdn.net/finaly_yu/article/details/87626893
Recomendado
Clasificación