Ordenacion burbuja en C: ejercicio resuelto paso a paso

  2 minutos

Si buscas ordenacion burbuja en C ejercicio resuelto, este ejemplo explica el algoritmo y su optimizacion más común.

Ordena un array de enteros de menor a mayor con burbuja e incluye una salida anticipada cuando no hay intercambios.

#include <stdio.h>

void burbuja(int a[], int n) {
    for (int i = 0; i < n - 1; i++) {
        int hubo_swap = 0;

        for (int j = 0; j < n - 1 - i; j++) {
            if (a[j] > a[j + 1]) {
                int tmp = a[j];
                a[j] = a[j + 1];
                a[j + 1] = tmp;
                hubo_swap = 1;
            }
        }

        if (!hubo_swap) break;
    }
}

int main(void) {
    int a[] = {9, 3, 7, 1, 4};
    int n = sizeof(a) / sizeof(a[0]);

    burbuja(a, n);
    for (int i = 0; i < n; i++) printf("%d ", a[i]);
    printf("\n");
    return 0;
}
1 3 4 7 9
  • Peor caso: O(n^2)
  • Mejor caso (optimizada): O(n)
  • Olvidar acortar el rango interno con - i.
  • No reiniciar la bandera de intercambio.
  • Confundir estabilidad con rendimiento.

No es el algoritmo más rápido, pero es ideal para aprendizaje, pruebas y conjuntos muy pequenos.

Si quieres una ruta completa con progresión real de dificultad:

Sí. Trabaja patrones que aparecen mucho en prácticas, entrevistas técnicas y evaluaciones de programación en C.

En Programación en C en 100 ejercicios resueltos y en Ejercicios C. Kindle Unlimited: Ver en Amazon.

Empieza con entradas pequeñas, prueba casos límite (vacío, un elemento y capacidad máxima) y luego reescribe la solución sin copiarla.