Bubble Sort – Consiste em percorrer o array diversas vezes e a cada passagem fazer flutuar para o topo o maior elemento da sequência, também chamado de ordenação por flutuação (literalmente "por bolha"), é um dos mais simples. São dois loops encadeados e o maior elemento e levado para o final da lista.
Detalhes – O algoritmo possui duas estruturas de repetição onde a segunda contém uma estrutura de escolha que avaliar o próximo elemento da lista (ou seja +1) e troca de lugar com ele caso ele seja menor que o anterior.
Segue uma implementação em C
int[ ] vet = {8, 9, 3, 5, 1, 6}
int i, j, aux;
void buble_sort() {
for( i = 0, i < 6, i++) {
for( j = 0, j < 5, j++) {
if(vet[ j ] > vet[ j + 1 ]) {
aux = vet[ j ];
vet[ j ] = vet [ j + 1 ];
vet [ j + 1 ] = aux;
}
}
}
Detalhes - As duas estruturas de repetição aumentam a complexidade tornando esse algoritmo pouco eficiente, é possível observar que os valores são testados, e o valores mais altos vão sendo trocados para a próxima posição.
melhor caso = O(n) / medio caso = O(n²) / pior caso(n²)