Saltar a contenido

P2.4 · Depurar programas

El algoritmo de la burbuja ordena una lista comparando cada elemento con el siguiente e intercambiándolos si están desordenados. Se hace con dos bucles anidados: el padre repite n - 1 pasadas y el hijo compara pares adyacentes, recorriendo cada vez un elemento menos (el mayor ya queda al final).

Ejercicio 2.4.1

Implementa la burbuja para ordenar [8, 3, 1, 19, 14] y depúralo:

  1. Pon un punto de ruptura dentro del bucle hijo.
  2. Avanza paso a paso y observa cómo cambian i, j y la lista.
  3. Haz capturas del punto de ruptura y de las variables.
  4. Copia la salida final por consola.

Variante opcional: detén el bucle cuando una pasada no haga ningún intercambio (usa una variable de control).

Solución modelo (bloqueada)

🔒 La solución completa está bloqueada. Esto es solo un ejemplo de cómo empieza:

fun main() {
    val a = intArrayOf(8, 3, 1, 19, 14)
    val n = a.size
    for (i in 0 until n - 1) {              // bucle padre: n - 1 pasadas
        for (j in 0 until n - 1 - i) {      // bucle hijo: un elemento menos cada vez
// ... (resto de la solución bloqueado)