Sorteo de burbujas en JavaScript

Sorteo de burbujas en JavaScript
Supongamos que tenemos una matriz sin clasificar y se nos pide que ordenemos la matriz en cualquier orden ascendente o descendente. Bubble Sort es uno de los algoritmos de clasificación más simples que compara dos elementos de lado a lado y clasifica la matriz. Están disponibles numerosos algoritmos para clasificar las matrices, como el tipo de selección, y la clasificación de fusiones, etc. En este artículo, aprenderemos cómo usar la clasificación de burbujas para ordenar los elementos de la matriz.

Trabajo del tipo de burbujas

Supongamos que queremos ordenar nuestra matriz en orden ascendente. Comienza a funcionar comparando el índice izquierdo con el índice derecho. Inicialmente, comparará los valores de los dos primeros índices de la matriz. El valor del índice 0 se reemplazará solo cuando el primer índice tenga un valor menor que el valor del índice 0. A continuación, comparará el valor del índice 1 con el valor del índice 2, y así sucesivamente.

Supongamos que tenemos la siguiente matriz sin clasificar:

Sabemos que en la indexación de matrices comienza desde 0. Entonces inicialmente, "8" se almacena en el índice 0, "3" se almacena en el primer índice, "1" se almacena en el segundo índice, y así sucesivamente. Ahora, tenemos que ordenar esta matriz en orden ascendente como se muestra en la matriz dividida a continuación:

Ahora, explicaremos el funcionamiento de Bubble Sort paso a paso.

Paso 1

Al principio, el índice 0 transporta 8 mientras el índice 1 lleva 3. Dado que tenemos que ordenar la matriz en orden ascendente, por lo tanto, el valor del índice 0 se reemplazará con el valor del índice 1. Ahora, la matriz actualizada será:

Ahora el valor del índice 1 se comparará con el valor del índice 2. El valor del índice 1 es 8, mientras que el valor del índice 2 es 1, que es inferior a 8, por lo que se cambiará y la matriz se modificará como:

Ahora, haremos una comparación entre el índice 2 y el índice 3. El valor del índice 2 es 8, que es mayor que el valor del índice 3, que es 2, por lo que los valores se cambiarán:

Ahora compare el valor del índice 3 con el valor del índice 4. En el índice 3, el valor es 8, mientras que el valor del índice 4 es -1, lo que significa que ambos valores se cambiarán:

Finalmente, el valor del índice 4 se comparará con el valor del índice 5. Una vez más, 8 es mayor de 7, por lo que se reemplazará con 7:

Ahora, la primera iteración está completa y "8" alcanza su posición apropiada. Entonces, en el siguiente paso, las comparaciones se realizarán hasta el cuarto índice ya que el valor del último índice está ordenado.

Paso 2:

Ahora, se compararán los dos primeros índices. El valor del primer índice es menor que el valor del índice 0, por lo tanto, se cambiarán los valores:

A continuación, compararemos el valor del primer índice con el valor del segundo índice. Aquí, 3 es mayor que 2, así que se reemplazará con 2:

Ahora compararemos el valor del segundo y tercer índice I.mi. 3 (en el segundo índice) con el valor del tercer índice que es -1. Los valores se cambiarán nuevamente ya que 3 es mayor que -1:

El valor del 3er índice ya es menor que el valor del cuarto índice, por lo que seguirá siendo el mismo:

Ahora se ordenan los dos últimos índices y los valores se colocan correctamente en los índices 4 y quinto.

Paso 3:

Ahora en esta iteración, inicialmente el valor del índice 0 se comparará con el valor del primer índice. Aquí, el valor del índice 0 es 1 que ya es menor que el valor del primer índice que es 2. Entonces, estos valores seguirán siendo los mismos.

A continuación, compare los siguientes dos índices, aquí el valor del primer índice es mayor que el valor del segundo índice, por lo tanto, sus valores se cambiarán:

El valor del segundo índice ya es menor que el valor del tercer índice, por lo tanto, sus valores no se cambiarán:

Etapa 4:

Compare los dos primeros índices. El valor del índice 0 es 1, que es menor que el valor del primer índice (-1), por lo que se cambiará:

A continuación, compararemos el valor del primer índice con el valor del segundo índice. Ya están ordenados, por lo que seguirán siendo el mismo:

Finalmente, nuestra matriz se clasifica en orden ascendente.

Implementación de burbujas en JavaScript

Dado que entendimos cómo funciona la clasificación de burbujas, ahora implementaremos esta lógica en JavaScript utilizando bucles anidados:

functionBubblesort (ary)
leti, j;
varflag = false;
para (i = 0; i
bandera = falso;
para (j = 0; Jary [j + 1])

vartemp = ary [j]
ary [j] = ary [j+1];
ary [j+1] = temp;
bandera = verdadero;


si(!bandera)

romper;


consola.log (ary)

varary = [8, 3, 1, 2, -1, 7];
Bubblesort (Ary);

En el código anterior, creamos una matriz llamada 'Ary' y le asignaron algunos datos. Después, creamos una función llamada ordenamiento de burbuja y le pasamos la matriz. Una variable nombrada 'bandera' se asigna inicialmente con un valor 'FALSO'. Este indicador se usará para verificar si la matriz está completamente ordenada o no. A continuación, el bucle for-loop se inicializa con el 0 y se ejecutará hasta que sea menor que la longitud de la matriz.

El bucle anidado se utiliza para dibujar una comparación del valor en el índice actual con el valor en el índice adyacente, los valores se cambiarán solo si el valor del índice de corriente es más alto que el valor presente en su índice adyacente. El valor de la bandera se reemplazará por verdadero si se cambia algún valor durante la iteración.

Una vez que se realiza el bucle interno, se verifica la variable de bandera. Si la variable de indicador permanece falsa, significa que la matriz ya está ordenada y el bucle interno no ha cambiado nada. En tal caso, simplemente rompa el bucle.

Finalmente, la matriz se pasa a la ordenamiento de burbuja() función. La salida será:

Conclusión

La clasificación de burbujas es un algoritmo de clasificación básica que intercambia los elementos de lado a lado una y otra vez hasta que no estén en orden adecuado. En este artículo, presentamos todos los conceptos básicos y el conocimiento esencial necesario para comprender el concepto de clasificación de burbujas en JavaScript. Comenzando con la introducción que describió qué es el tipo de burbuja y cómo funciona. Luego tomamos un ejemplo para comprender el concepto de burbuja. Además, implementamos el mismo ejemplo en JavaScript y discutimos su trabajo en detalle.