Bolhas de bolha em JavaScript

Bolhas de bolha em JavaScript
Vamos supor que temos uma matriz não classificada e somos solicitados a classificar a matriz em qualquer ordem ascendente ou descendente. Bubble Sort é um dos algoritmos de classificação mais simples que compara dois itens lado a lado e classifica a matriz. Numerosos algoritmos estão disponíveis para classificar as matrizes, como classificação de seleção e classificação de mesclagem, etc. Neste artigo, aprenderemos a usar o tipo de bolha para classificar os elementos da matriz.

Trabalhando de tipo de bolha

Suponha que queremos classificar nossa matriz em ordem ascendente. Começa a funcionar comparando o índice esquerdo com o índice direito. Inicialmente, ele comparará os valores dos dois primeiros índices da matriz. O valor do 0º índice será substituído apenas quando o 1º índice carregar um valor menor que o valor do 0º índice. Em seguida, ele comparará o valor do índice 1 com o valor do índice 2 e assim por diante.

Suponha que tenhamos a seguinte matriz não classificada:

Sabemos que na indexação de matrizes começa em 0. Então inicialmente, "8" é armazenado no 0º índice, "3" é armazenado no primeiro índice, "1" é armazenado no segundo índice e assim por diante. Agora, temos que classificar essa matriz em ordem ascendente, como mostrado na matriz abaixo de ser dada:

Agora, explicaremos o funcionamento da classificação de bolhas passo a passo.

Passo 1

No começo, o índice 0 carrega 8 enquanto o índice 1 carrega 3. Como precisamos classificar a matriz em ordem ascendente, portanto, o valor do índice 0 será substituído pelo valor do índice 1. Agora, a matriz atualizada será:

Agora o valor do índice 1 será comparado com o valor do índice 2. O valor do índice 1 é 8, enquanto o valor do índice 2 é 1, que é menor que 8, por isso será trocado e a matriz será modificada como:

Agora, faremos uma comparação entre o índice 2 e o índice 3. O valor do índice 2 é 8, que é maior que o valor do índice 3, que é 2, de modo que os valores serão trocados:

Agora compare o valor do índice 3 com o valor do índice 4. No índice 3, o valor é 8, enquanto no índice 4 o valor é -1, o que significa que esses dois valores serão trocados:

Finalmente, o valor do índice 4 será comparado com o valor do índice 5. Novamente 8 é maior que 7, ele será substituído por 7:

Agora, a primeira iteração está completa e “8” atinge sua posição apropriada. Portanto, na próxima etapa, as comparações serão feitas até o 4º índice, pois o valor do último índice é classificado.

Passo 2:

Agora, os dois primeiros índices serão comparados. O valor do 1º índice é menor que o valor do 0º índice, portanto, os valores serão trocados:

Em seguida, compararemos o valor do 1º índice com o valor do 2º índice. Aqui, 3 é maior que 2, então, será substituído por 2:

Agora vamos comparar o valor do 2º e 3º índice I.e. 3 (no 2º índice) com o valor do 3º índice que é -1. Os valores serão trocados novamente, pois 3 é maior que -1:

O valor do 3º índice já é menor que o valor do 4º índice, portanto, ele permanecerá o mesmo:

Agora os dois últimos índices são classificados e os valores são colocados corretamente nos 4º e 5º índices.

Etapa 3:

Agora, nesta iteração, inicialmente o valor do 0º índice será comparado com o valor do 1º índice. Aqui, o valor do 0º índice é 1, que já é menor que o valor do 1º índice que é 2. Então, esses valores permanecerão os mesmos.

Em seguida, compare os próximos dois índices, aqui o valor do 1º índice é maior que o valor do segundo índice, portanto, seus valores serão trocados:

O valor do segundo índice já é menor que o valor do 3º índice, portanto, seus valores não serão trocados:

Passo 4:

Compare os dois primeiros índices. O valor do 0º índice é 1, que é menor que o valor do 1º índice (-1), por isso será trocado:

Em seguida, compararemos o valor do 1º índice com o valor do 2º índice. Eles já estão classificados, então permanecerão os mesmos:

Finalmente, nossa matriz é classificada em ordem ascendente.

Implementação do tipo de bolha em JavaScript

Como entendemos como o tipo de bolha funciona, agora implementaremos essa lógica em JavaScript usando loops aninhados:

functionbubblesort (ary)
Leti, J;
varflag = false;
para (i = 0; i
bandeira = false;
para (j = 0; Jary [j + 1])

vartemp = ary [j]
ary [j] = ary [j+1];
ary [j+1] = temp;
bandeira = true;


se(!bandeira)

quebrar;


console.log (ary)

vary = [8, 3, 1, 2, -1, 7];
Bubblesort (ary);

No código acima, criamos uma matriz chamada 'ary' e atribuiu alguns dados a ele. Depois, criamos uma função chamada Tipo de bolha e passamos a matriz para isso. Uma variável nomeada 'bandeira' é inicialmente atribuído com um valor 'falso'. Esta bandeira será usada para verificar se a matriz está completamente resolvida ou não. Em seguida, o loop for inicializado com o 0 e será executado até que seja menor que o comprimento da matriz.

O loop for aninhado é utilizado para fazer uma comparação do valor no índice atual com o valor no índice adjacente, os valores serão trocados apenas se o valor do índice atual for maior que o valor presente em seu índice adjacente. O valor da bandeira será substituído por verdadeiro se algum valor for trocado durante a iteração.

Depois que o loop interno é feito, a variável de bandeira é verificada. Se a variável de bandeira permanecer falsa, significa que a matriz já está resolvida e o loop interno não mudou nada. Nesse caso, basta quebrar o loop.

Finalmente, a matriz é passada para o Tipo de bolha() função. A saída será:

Conclusão

Bubble Sort é um algoritmo básico de classificação que troca os elementos lado a lado repetidamente até que não estejam em ordem adequada. Neste artigo, apresentamos todo o básico e conhecimento essencial necessário para entender o conceito de tipo de bolha em JavaScript. Começando com a introdução que descreveu o que é o tipo de bolha e como funciona. Então tivemos um exemplo para entender o conceito de tipo de bolha. Além disso, implementamos o mesmo exemplo em JavaScript e discutimos seu trabalho em detalhes.