Ordenação
PROF. ARTHUR DE ASSIS
MÉTODOS DE ORDENAÇÃO
BUBBLE SORT
INSERT SORT
BUBBLESORT
Compara pares de elementos adjacentes e os troca de lugar se estiverem em ordem errada.
Esse processo se repete até que mais nenhuma troca seja necessária, ou seja, quando os elementos já estiverem ordenados.
BUBBLESORT
COMPLEXIDADE:
Melhor caso: O(n)
Pior caso: O(n²)
Obs: Não recomendado para grandes conjuntos de dados
BUBBLESORT void bubbleSort (int *V, int N) { int i, continua, aux, fim = N; do{ continua = 0; for (i = 0; i < fim-1; i++) { if (V[ i ] > V[ i+1 ]) { aux = V[ i ];
V[ i ] = V[ i+1 ];
V[i+1] = aux; continua = i;
}
} fim--; } while (continua != 0);
}
BUBBLESORT
SEM ORDENAR
23
4
67
-8
90
54
21
1ª ITERAÇÃO
i=0
23
4
67
-8
90
54
21
TROCAR
i=1
4
23
67
-8
90
54
21
OK
i=2
4
23
67
-8
90
54
21
TROCAR
i=3
4
23
-8
67
90
54
21
OK
i=4
4
23
67
-8
90
54
21
TROCAR
i=5
4
23
67
-8
54
90
21
TROCAR
FINAL
4
23
67
-8
54
21
90
2ª ITERAÇÃO
i=0
4
23
-8
67
54
21
90
OK
i=1
4
23
-8
67
54
21
90
TROCAR
i=2
4
-8
23
67
54
21
90
OK
i=3
4
-8
23
67
54
21
90
TROCAR
i=4
4
-8
23
54
67
21
90
TROCAR
FINAL
4
-8
23
54
21
67
90
3ª ITERAÇÃO
i=0
4
-8
23
54
21
67
90
TROCAR
i=1
-8
4
23
54
21
67
90
OK
i=2
-8
4
23
54
21
67
90
OK
i=3
-8
4
23
54
21
67
90
TROCAR
-8
4
23
21
54
67
90
FINAL
4ª ITERAÇÃO
i=0
-8
4
23
21
54
67
90
OK
i=1
-8
4
23
21
54
67
90
OK
i=2
-8
4
23
21