Já que um array unidimensional organiza os dados em uma lista linear que pode ser indexada, é a estrutura de dados perfeita para classificações. Nesse projeto, você aprenderá uma maneira simples de classificar um array. Como deve saber, há vários algoritmos de classificação. Há a classificação rápida, a classificação por troca e a classificação de shell, para citar apenas três. No entanto, a mais conhecida, simples e fácil de entender se chama classificação por bolha. Embora a classificação por bolha não seja muito eficiente – na verdade, seu desempenho é inaceitável para a classificação de arrays grandes – ela pode ser usada de maneira eficaz na classificação de arrays pequenos.
1 Crie um arquivo chamado Bubble.java.
2 A classificação por bolha obtém seu nome da maneira como executa a operação de classificação. Ela usa a comparação repetida e, se necessário, a troca de elementos adjacentes do array. Nesse processo, valores pequenos se movem em direção a uma extremidade e os maiores em direção à outra. O processo é conceitualmente semelhante a bolhas encontrando seu nível em um tanque de água. A classificação por bolha funciona percorrendo várias vezes o array e trocando os elementos que estiverem fora do lugar quando preciso. O número de passagens necessárias para assegurar que o array esteja classificado é igual a um menos o número de elementos do array. Aqui está o código que forma a base da classificação por bolha. O array que está sendo classificado se chama nums.
Observe que a classificação se baseia em dois laços for. O laço interno verifica os elementos adjacentes do array, procurando elementos fora de ordem. Quando um par de elementos fora de ordem é encontrado, os dois elementos são trocados. A cada passagem, o menor dos elementos restantes se move para o local apropriado. O laço externo faz esse processo se repetir até o array inteiro
ser classificado.
Top comments (0)