Principais algoritmos de ordenação
Em outras situações, ocorre a necessidade de encontrar um dado em um conjunto ordenado e desordenado. Para essse fim, existem os algoritmos de busca: Algoritmo de busca sequencial e binária. Mas não irei abordá-los.
Algoritmo de ordenação por troca, Bubble Sort.
Neste algoritmo de ordenação, cada elemento de posição i será comparado com o elemento de posição i + 1, e quando a ordenação é encontrada, crescente ou decrescente, uma troca de posições entre os elementos é feita. Neste caso são necessárias duas estruturas de repetição para implementar esse algoritmo. A figura abaixo exemplifica a sua primeira execução. Existem mais duas versões desse algoritmo melhorada.
Algoritmo de ordenação por inserção, Insertion Sort.
Neste algoritmo será eleito o segundo número do vetor para iniciar as comparações. Dessa forma os elementos a esquerda do número eleito estão sempre ordenados de forma crescente ou decrescente. Enquanto existirem elementos a esquerda do número eleito para comparações e a posição que atende a ordenação que se busca não for encontrada, um laço será executado. A figura abaixo exemplifica o algoritmo.
Algoritmo de ordenação por seleção, Selection Sort.
Neste algoritmo de ordenação cada número do vetor, a partir do primeiro, será eleito e comparado com o menor ou maior número dentre aqueles que estão a direita do eleito. Nessas comparações procura-se um número menor que o eleito, quando a ordenação for crescente, ou um menor que o eleito quando a ordenação for decrescente. A figura abaixo exemplifica o algoritmo.
Algoritmo de ordenação por intercalação, Merge Sort.
Na ordenação deste algoritmo, o vetor é dividido em vetores com a metade do tamanho original por meio de um procedimento