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
#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 3 4 7 9Complejidad
- 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
- Búsqueda binaria en C: ejercicio resuelto en array ordenado
- Merge sort en C: ejercicio resuelto con divide y vencerás
- Cadenas en C: ejercicios resueltos con strlen, strcpy y strcmp
- Todos los ejercicios de C
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.