- Algoritmo de ordenacao que recebe uma lista com elementos potencialmente ordenaveis e produz uma lista ordenada
- n’ao produz uma nava lista, altera a entrada.
- nao e eficiente pois n’ao consegue saber como parar por conta propria.
- Repeticao sempre compara com posicao seguinte, por isso ate size - 1
- Uma maneira de otimizar : verificar se na passagem houve alguma troca
void bubble_sort(int *numbers)
{
int troca = 1;
while(troca)
{
troca = 0;
for(i = 0; i < n-1; i++)
{
if(v[i] > v[i+1])
{
int aux = v[i];
v[i] = v[i+1];
v[i+1] = aux;
troca = 1;
}
}
}void bubble_sort(int *numbers)
{
int troca = 1;
while(troca)
{
troca = 0;
for(i = 0; i < n; i++)
{
if(v[i] > v[i+1])
{
int aux = v[i];
v[i] = v[i+1];
v[i+1] = aux;
troca = 1;
}
}
n--;
}Forma Recursiva Do Bubble
void bubble(int *v, int n)
{
if(n < 2) return;
for(i = 0; i < n - 1; i++)
{
if(v[i] > v[i+1])
{
int aux = v[i];
v[i] = v[i+1];
v[i+1] = aux;
}
}
bubble(v,n-1);
}Curso de Programação C | Algoritmo de Ordenação BUBBLE SORT iterativo e recursivo | aula 331