DAA - Bubble Sort
Bubble Sort é um algoritmo de classificação elementar, que funciona trocando repetidamente os elementos adjacentes, se necessário. Quando nenhuma troca é necessária, o arquivo é classificado.
Esta é a técnica mais simples entre todos os algoritmos de classificação.
Algorithm: Sequential-Bubble-Sort (A) 
fori← 1 to length [A] do 
for j ← length [A] down-to i +1 do 
   if A[A] < A[j - 1] then 
      Exchange A[j] ↔ A[j-1]Implementação
voidbubbleSort(int numbers[], intarray_size) { 
   inti, j, temp; 
   for (i = (array_size - 1); i >= 0; i--) 
   for (j = 1; j <= i; j++) 
      if (numbers[j - 1] > numbers[j]) { 
         temp = numbers[j-1]; 
         numbers[j - 1] = numbers[j]; 
         numbers[j] = temp; 
      } 
}Análise
Aqui, o número de comparações são
1 + 2 + 3 +...+ (n - 1) = n(n - 1)/2 = O(n2)
Claramente, o gráfico mostra o n2 natureza do tipo de bolha.
Neste algoritmo, o número de comparação é independente do conjunto de dados, ou seja, se os elementos de entrada fornecidos estão em ordem de classificação ou em ordem reversa ou aleatoriamente.
Requisito de Memória
A partir do algoritmo declarado acima, fica claro que a classificação por bolhas não requer memória extra.
Exemplo
| Unsorted list: | 
 | 
1 r iteração:
| 5 > 2 swap | 
 | |||||||
| 5 > 1 swap | 
 | |||||||
| 5 > 4 swap | 
 | |||||||
| 5 > 3 swap | 
 | |||||||
| 5 < 7 no swap | 
 | |||||||
| 7 > 6 swap | 
 | 
2 nd iteração:
| 2 > 1 swap | 
 | |||||||
| 2 < 4 no swap | 
 | |||||||
| 4 > 3 swap | 
 | |||||||
| 4 < 5 no swap | 
 | |||||||
| 5 < 6 no swap | 
 | 
Não há nenhuma alteração na 3 rd , 4 th , 5 th e 6 th iteração.
Finalmente,
| the sorted list is | 
 |