Ordenacion burbuja en C: ejercicio resuelto paso a paso

Ordenacion burbuja en C: ejercicio resuelto

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

Enunciado

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

Solución en C

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#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;
}

Salida esperada

1
1 3 4 7 9

Complejidad

  • Peor caso: O(n^2)
  • Mejor caso (optimizada): O(n)

Errores frecuentes

  • Olvidar acortar el rango interno con - i.
  • No reiniciar la bandera de intercambio.
  • Confundir estabilidad con rendimiento.

Aplicación práctica

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

Siguiente ejercicio recomendado

Práctica guiada y libro completo

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

FAQ

¿Este ejercicio sirve para entrevistas y exámenes de C?

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

¿Dónde seguir con más ejercicios resueltos de C?

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

¿Cómo practicar este tipo de ejercicio para mejorar más rápido?

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.