Ordenamiento Burbuja (Bubble Sort) en PSeInt: La Guía Definitiva 2026
¿Cómo organiza una computadora una lista de contactos, precios o puntuaciones de menor a mayor? La respuesta está en los Algoritmos de Ordenamiento. Hoy aprenderás el más clásico y pedagógico de todos: el Método de la Burbuja (Bubble Sort). Aunque no es el más rápido para millones de datos, es el mejor para entender cómo funcionan los Arreglos (Vectores) y los Ciclos Anidados. En este tutorial de PSeInt, desglosaremos la lógica de comparar elementos adyacentes y «burbujear» los valores más grandes hacia el final de la lista.
Conceptos Clave: Vectores y Bucles Anidados
El ordenamiento burbuja no es magia; es una coreografía precisa de datos. Necesitas dominar estos tres pilares:
No podemos ordenar variables sueltas (a, b, c…) eficientemente. Necesitamos una estructura de datos que contenga una lista: un Arreglo o Vector. En PSeInt usamos Dimension lista[N] para acceder a los datos mediante índices (ej: lista[1], lista[2]).
Una sola pasada por la lista no es suficiente para ordenarla. Necesitamos repetir el proceso de revisión varias veces. Esto requiere un bucle externo (que cuenta las pasadas) y un bucle interno (que compara los elementos).
Análisis del Algoritmo: ¿Por qué «Burbuja»?
El nombre viene de la física: en un líquido, las burbujas de aire (elementos más «ligeros» o pequeños) tienden a subir, mientras que los elementos pesados se hunden.
-
ESTRATEGIA
Recorrer el arreglo comparando pares adyacentes:
elemento[j]contraelemento[j+1]. -
CONDICIÓN
Si el número actual es mayor que el siguiente (están en desorden), se realiza un Intercambio (Swap).
Lógica: SiA > B, entonces invertimos posiciones. - REPETICIÓN Este proceso empuja el número más grande hacia el final de la lista en la primera vuelta. Se repite el ciclo N veces hasta que todo esté ordenado.
Código Fuente (Algoritmo Estándar)
Archivo: Burbuja.pscDiagrama de Flujo
⚠️ Errores Críticos al Ordenar
El algoritmo de burbuja es propenso a un error fatal que detiene la ejecución:
Si tu arreglo tiene 5 elementos y haces un ciclo j Hasta 5, cuando intentes acceder a num[j+1] estarás buscando la posición 6, que no existe. PSeInt se cerrará con error.
Solución: El ciclo interno siempre debe ir hasta Cantidad - 1.
Intentar intercambiar sin aux:
A <- B (A pierde su valor original)
B <- A (B toma el valor de B)
Resultado: Ambos números terminan valiendo lo mismo. Siempre usa una variable temporal.
Reto: Burbuja Mejorada (Más Eficiente)
El método clásico es lento porque sigue comparando números que ya están ordenados al final. Esta versión optimizada reduce el rango del ciclo interno en cada pasada (N-i), ahorrando miles de operaciones en listas grandes.
Preguntas Frecuentes (FAQ)
¿Cómo lo ordeno de Mayor a Menor (Descendente)?
Si A > B por Si A < B. El resto del código permanece idéntico.¿Qué complejidad tiene la Burbuja?
¿Puedo ordenar textos (nombres)?
"Ana" < "Beto" es verdadero. Define el arreglo como Caracter y el algoritmo funcionará igual.¿Qué pasa si la lista ya está ordenada?
¿Listo para el siguiente nivel?
Domina la lógica de programación con nuestra colección completa.
Ver Más Ejercicios Resueltos