English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutorial básico de linguagem C

Controle de fluxo de linguagem C

Funções no C

Matrizes no C

Ponteiro no C

String no C

Estrutura de linguagem C

Arquivo de linguagem C

Outros C

Manual de referência do C

Uso e exemplo da função qsort() da biblioteca C

Biblioteca Padrão C - <stdlib.h>

Função da biblioteca C void qsort(void *base, size_t nitems, size_t size, int (*compar)(const void *, const void*)) Ordena um array.

Declaração

Aqui está a declaração da função qsort().

void qsort(void *base, size_t nitems, size_t size, int (*compar)(const void *, const void*))

Parâmetros

  • base -- Ponteiro para o primeiro elemento do array a ser ordenado.
  • nitems -- Número de elementos no array apontado por base.
  • size -- Tamanho de cada elemento do array, em bytes.
  • compar -- Função usada para comparar dois elementos.

Retorno

A função não retorna nenhum valor.

Exemplo online

O exemplo a seguir demonstra o uso da função qsort().

#include <stdio.h>
#include <stdlib.h>
int values[] = { 88, 56, 100, 2, 25 };
int cmpfunc (const void * a, const void * b)
{
   return ( *(int*)a - *(int*)b );
}
int main()
{
   int n;
   printf("Lista antes da ordenação:\n");
   for( n = 0 ; n < 5; n++ ) {
      printf("%d ", values[n]);
   }
   qsort(values, 5, sizeof(int), cmpfunc);
   printf("\nLista ordenada:\n");
   for( n = 0 ; n < 5; n++ ) {
      printf("%d ", values[n]);
   }
  return(0);
}

Vamos compilar e executar o programa acima, o que produzirá o seguinte resultado:

Lista ordenada antes da classificação:
88 56 100 2 25 
Lista ordenada após a classificação:
2 25 56 88 100

Biblioteca Padrão C - <stdlib.h>