A biblioteca padrão C oferece implementações genéricas da rotina de ordenação quicksort, a função qsort, cujo protótipo está definido no arquivo de cabeçalho stdlib.h:
void qsort(void *base, size_t nmemb, size_t size, int (*compar)(const void *, const void *))
Os argumentos de qsort indicam o início do arranjo que deve ser ordenado (base), a quantidade de elementos (nmemb) e o tamanho de cada elemento do arranjo (size). O último argumento é o ponteiro para a função que sabe como comparar dois elementos do arranjo.
Assim como para bsearch (Seção 2.3.3), é necessário que o programador indique como deve ser realizada a comparação entre dois elementos da estrutura que será ordenada. Para tanto, uma função deve ser definida que receba dois argumentos que são referências para cada um dos elementos. Essa função retorna um valor inteiro, que deve ser:
Por exemplo, para a comparação de elementos do tipo inteiro a função de comparação poderia ser a mesma já apresentada na Seção 2.3.3. Usando um exemplo similar àquele, para utilizar qsort para ordenar o arranjo de SIZE inteiros poderia se utilizar a invocação
qsort(array,SIZE,sizeof(int),compara);