sexta-feira, 30 de novembro de 2012

[Programação em C] Ordenação de elemento com qsort (quicksort)

Olá pessoal, nesse post iremos conhecer a função qsort do C que ordena elementos utilizando o método de ordenação Quicksort.

Essa função recebe o vetor de elementos a serem ordenados, o número de elementos desse vetor, o tamanho de cada elemento e uma função que é o critério de ordenação.

Referência: http://www.cplusplus.com/reference/cstdlib/qsort/

O critério de ordenação é uma função que compara dois elementos, você deve especificar se o primeiro elemento deve vim antes, depois ou quando eles são equivalentes. Para isso, você deve ficar atento aos retornos que deve fazer.

Você deve retornar um número menor que 0 se o primeiro elemento tiver que vim antes do segundo elemento. Deve retornar 0 se os dois elementos são equivalentes (iguais). Deve retornar um número maior que 0 se o primeiro elemento tiver que vim depois do segundo elemento.

Nada melhor que um exemplo, veja o uso da função qsort para ordenar um vetor de 5 elementos em ordem crescente e depois em ordem decrescente.


A função comp1 utiliza um critério de ordenação para ordenar crescentemente os números, já a função comp2 utiliza um critério para ordenar de forma decrescente. Basta ficar atento aos retornos, até a próxima!


Nenhum comentário: