DEV Community

FUNDAMENTOS JAVA
FUNDAMENTOS JAVA

Posted on

Tente Isto 5-1: Classifique um array

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.

Image description

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.

Image of Datadog

Create and maintain end-to-end frontend tests

Learn best practices on creating frontend tests, testing on-premise apps, integrating tests into your CI/CD pipeline, and using Datadog’s testing tunnel.

Download The Guide

Top comments (0)

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more