Ir para conteúdo
Fórum Script Brasil
  • 0

QSORT - ORDENANDO UM VETOR DE STRUCT


roccoC/C++

Pergunta

Neste exemplo que trago agora vou mostrar como ordenar uma um vetor de estrutura
usando a função qsort(); da biblioteca padrão stdlib.h do C.
A função qsort(); é derivada de uma série de refinamento da famosa
e antiga função quicksort(); e na realidade passou a ser padrão há alguns anos
atrás, o que mais me impressiona é a facilidade de uso em imprementações para ordenação
em qualquer tipo de dados do C, e mesmo assim não é muito usada, nem sei porque
se evitam tanto esta função, talvez seja por não conhecê-la...
A função qsort(); utiliza alguns parâmetros veja na sua síntaxe abaixo:
void qsort (void* base, size_t num, size_t size,
int (*compar)(const void*,const void*));
onde base: é um Ponteiro genérico para o primeiro elementoo da matriz a ser
ordenado, a importância de ser ponteiro genérico se refere a poder usar a função
com qualquer tipo de dados do C.
num: Número de elementos na matriz apontada por base.
size_t: é um tipo integral sem sinal.
tamanho: Tamanho em bytes de cada elemento na matriz.
size_t é um tipo integral sem sinal.
compar: Ponteiro para uma função que compara dois elementos.
Essa função é chamada repetidamente por qsort para comparar dois elementos até
que todos tenham sido comparados e consequentemente ordenados.
Talvez entender esta função seja bem mais complicado do que saber usá-la
nos nossos programas, na verdade para entender a função qsort(); devemos primeiro
entender o comportamento de ponteiro para função que é um recurso avançado do C.
Fica a cargo do leitor deste post pesquisar para entender mais a fundo
como funciona a função qsort();, onde naturalmente o assunto ponteiro para função
é fundamental.
Más para não virmos a sentir dores de cabeça com isto vamos a um exemplo bem claro
de utilização da função qsort(); para ordenação de um vetor de struct.

Veja abaixo uma imagem do programa em execução:

qsort.PNG

Veja abaixo o link do código do programa:

http://codigosfontes-ccplus-plus.blogspot.com.br/2016/05/qsort-ordenando-um-vetor-de-struct.html

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...