El Método de la Burbuja 🫧

¿Cómo ordenamos una lista de números?

5
1
4
2
8

La Idea Clave:

Imagina que los números más grandes son "más pesados" y se hunden al final de la lista, mientras que los más pequeños son "burbujas" que suben hacia el principio.

¿Cómo funciona?

  1. Comparamos cada par de elementos adyacentes.
  2. Si están en el orden incorrecto (el primero es mayor que el segundo), los intercambiamos (swap).
  3. Repetimos este proceso para toda la lista.
  4. En cada pasada completa, el número más grande "burbujea" hasta su posición final y ya no se vuelve a tocar.

Ejemplo: ¿5 > 1?

5
1

¡SÍ! Intercambiamos.

1
5

El Código en Java

public static void burbuja(int[] array) {
    int aux;
    // Bucle externo: Número de pasadas
    for (int i = 0; i < array.length - 1; i++) {
        
        // Bucle interno: Comparaciones
        // ¡Ojo! Restamos 'i' para no revisar lo ya ordenado
        for (int j = 0; j < array.length - 1 - i; j++) {
            
            // Si el actual es mayor que el siguiente...
            if (array[j] > array[j + 1]) {
                // ...intercambiamos (SWAP)
                aux = array[j];
                array[j] = array[j + 1];
                array[j + 1] = aux;
            }
        }
    }
}

Bucle Externo (i)

Controla cuántas pasadas hacemos. Necesitamos N-1 pasadas para ordenar N elementos.

Bucle Interno (j)

Recorre la lista comparando parejas. Nota el - i: ¡No necesitamos revisar los últimos elementos porque ya están ordenados!

El Swap

Usamos una variable temporal aux para no perder el valor al hacer el cambio.

Simulación Completa

Sigue los pasos hasta que la lista esté totalmente ordenada.