Algoritmo de ordenação bubble sort
O algoritmo de ordenação bubble sort, ou ordenação por flutuação, é um dos mais simples algoritmos de ordenação. A ideia é percorrer o vector diversas vezes, e a cada passagem fazer flutuar para o topo o maior elemento da sequência.
O algoritmo percorre a lista de itens solicitáveis do início ao fim, verifica a ordem dos elementos um a um e altera a posição, se necessário. Percorra a lista até que nenhum elemento do parágrafo anterior tenha sido movido.
Vamos ao algoritmo bubble sort em Java
public int[] bubbleSort(int[] list){
boolean sortedList = false;
while(!sortedList){
sortedList = true;
for(int i = 0; (i < list.length && i+1 < list.length); i++){
if(list[i] > list[i+1]){
int temp = list[i+1];
list[i+1] = list[i];
list[i] = temp;
sortedList = false;
}
}
}
return list;
}
Para quem tiver interesse, disponibilizei o código no github:
https://github.com/aluizrech/sorting-and-tree-algorithm-example/tree/master/bubble-sort