Algoritmo de Ordenamiento Burbuja en JavaScript

Beginner

This tutorial is from open-source community. Access the source code

Introducción

En este laboratorio, trabajaremos en un ejercicio de programación en JavaScript que se centra en ordenar arrays utilizando el algoritmo de ordenamiento burbuja. El objetivo de este laboratorio es ayudarte a comprender cómo funciona el algoritmo de ordenamiento burbuja, así como darte la oportunidad de practicar tus habilidades de programación en JavaScript. Al final de este laboratorio, tendrás una mejor comprensión de cómo implementar el algoritmo de ordenamiento burbuja en JavaScript y cómo utilizarlo para ordenar arrays de números.

Algoritmo de Ordenamiento Burbuja

Para practicar la codificación, abre la Terminal/SSH y escribe node para comenzar. El algoritmo de ordenamiento burbuja ordena un array de números.

Pasos para ordenar un array utilizando el algoritmo de ordenamiento burbuja:

  1. Declara una variable, swapped, que indique si se intercambiaron valores durante la iteración actual.

  2. Utiliza el operador de propagación (...) para clonar el array original, arr.

  3. Utiliza un bucle for para iterar sobre los elementos del array clonado, terminando antes del último elemento.

  4. Utiliza un bucle for anidado para iterar sobre el segmento del array entre 0 e i, intercambiando cualquier elemento adyacente desordenado y estableciendo swapped en true.

  5. Si swapped es false después de una iteración, ya no se necesitan más cambios, por lo que se devuelve el array clonado.

Código de ejemplo:

const bubbleSort = (arr) => {
  let swapped = false;
  const a = [...arr];
  for (let i = 1; i < a.length; i++) {
    swapped = false;
    for (let j = 0; j < a.length - i; j++) {
      if (a[j + 1] < a[j]) {
        [a[j], a[j + 1]] = [a[j + 1], a[j]];
        swapped = true;
      }
    }
    if (!swapped) return a;
  }
  return a;
};

bubbleSort([2, 1, 4, 3]); // [1, 2, 3, 4]

Resumen

¡Felicitaciones! Has completado el laboratorio de Ordenamiento Burbuja. Puedes practicar más laboratorios en LabEx para mejorar tus habilidades.