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)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.