Ordenamiento Burbuja - Reto de programación

¡Hola Girl! 🙋‍♀️ Practicar ejercicios de programación puede ayudarte a mejorar tus habilidades de programación, prepararte para desafíos más complejos y mejorar tu capacidad para resolver problemas de manera efectiva, es por ello que en esta ocasión ponemos a prueba tu lógica para ordenar un arreglo mediante el método burbuja.

En este post te mencionamos algunas de las ventajas de resolver retos de programación, te explicamos como funciona el ordenamiento burbuja que es la base para el reto de este post y te compartimos una posible solución.

Sin más preámbulo comencemos este post con todo el power. 🚀

¿Por qué practicar con retos de programación?

Además de que harán de ti una programadora con mucho power, practicar ejercicios de programación es importante por las siguientes razones:

Desarrollo de habilidades: La programación es una habilidad práctica y, como cualquier habilidad, requiere práctica para mejorar.

Al practicar ejercicios de programación, puedes desarrollar habilidades en diferentes áreas, como algoritmos, estructuras de datos, lógica de programación, etc.

Resolución de problemas: La programación se trata de resolver problemas y crear soluciones.

Al practicar ejercicios de programación, puedes mejorar tus habilidades para identificar y resolver problemas de manera efectiva.

Preparación para desafíos más complejos: Algunos ejercicios de programación pueden ser muy desafiantes y difíciles de resolver.

Al enfrentar y superar estos desafíos, estarás mejor preparado para enfrentar problemas más complejos en el futuro.

Ahora que conoces algunas de las ventajas de resolver retos de programación, comencemos con el reto que te proponemos en este post, el cual consiste en ordenar un arreglo mediante el método burbuja, pero antes de comenzar vemos que es el método burbuja y como funciona.

¿Cómo funciona el ordenamiento burbuja?

El método burbuja es un algoritmo simple de ordenamiento que funciona comparando pares de elementos adyacentes y, si están en el orden incorrecto, intercambiándolos. Este proceso se repite varias veces hasta que la lista completa esté ordenada.

A continuación se detalla el proceso del método de ordenamiento burbuja:

1️⃣ Comenzando por el primer elemento de la lista, se compara con el siguiente elemento adyacente.

2️⃣ Si el primer elemento es mayor que el segundo, se intercambian los elementos. Si no, se deja la lista como está.

3️⃣ Luego, se pasa al segundo elemento de la lista y se repite el proceso, comparándolo con el tercer elemento y así sucesivamente.

4️⃣ Cuando se llega al final de la lista, se debe haber colocado el elemento más grande en su posición correcta (es decir, en la última posición).

5️⃣ A continuación, se repite todo el proceso, pero ignorando el último elemento de la lista (ya que ya está en su posición correcta) y continuando con el penúltimo elemento hasta llegar al primer elemento.

6️⃣ Se continúa repitiendo este proceso hasta que no se realice ningún intercambio en una iteración completa de la lista, lo que indica que la lista está ordenada.

Este algoritmo recibe el nombre de “burbuja” porque los elementos más grandes “suben” hacia el final de la lista, como si fueran burbujas que se elevan en un líquido.

Con esto en mente y dado el siguiente arreglo, intenta ordenarlo mediante el método burbuja. #tupuedes

Siéntete libre de hacerlo en el lenguaje de programación de tu preferencia.

[3, 0, 1, 8, 7, 2, 5, 4, 6, 9]

A continuación te compartimos una posible solución, puedes analizarla siempre y cuando ya lo hayas intentado por tu cuenta. 😉

Propuesta de solución

<?php

$array = array(3, 0, 1, 8, 7, 2, 5, 4, 6, 9);

for ( $a=0; $a<count($array); $a++) {

    for ($b=1; $b<count($array); $b++) { 
        
        if( $array[$b-1] > $array[$b] ){

            $mayor = $array[$b-1];
            $menor = $array[$b];

            $array[$b-1] = $menor;
            $array[$b] = $mayor;

        }
    }
}

echo '<pre>'; print_r($array); echo '</pre>';
?>

Inicialmente, creamos un ciclo for que será el encargado hacer todas las repeticiones hasta que el arreglo quede ordenado.

Por medio de un segundo for iremos comparando una posición contra su adyacente, para nuestra solución comparamos la posición actual contra una atrás.

Si la condición se cumple, almacenamos sus valores en dos variables temporales y después intercambiamos sus valores en el arreglo original.

Enseguida pasamos con la siguiente posición y realizamos la misma comparación, este proceso se repite sucesivamente hasta terminar de comparar y tener un arreglo ordenado de manera ascendente.

Al finalizar deberíamos tener un arreglo ordenado de la siguiente forma.

(
    [0] => 0
    [1] => 1
    [2] => 2
    [3] => 3
    [4] => 4
    [5] => 5
    [6] => 6
    [7] => 7
    [8] => 8
    [9] => 9
)

Cuéntanos ¿Qué te pareció este reto de programación? ¿De qué manera lo resolviste tú?

Puedes compartir tu solución en la sección de comentarios, por último no te vayas sin compartir este reto en tu red social favorita para que más chicas pongan a prueba su lógica de programación.

¡Hasta pronto! 🙋‍♀️

¡Haz clic para valorar este contenido!
(Votos: 2 Promedio: 5)

¡Comparte este contenido! 😉