Jump to content
Fórum Script Brasil
  • 0
Sign in to follow this  
roccoC/C++

QSORT - ORDENANDO UM VETOR DE STRUCT

Question

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

Share this post


Link to post
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  



  • Forum Statistics

    • Total Topics
      148131
    • Total Posts
      643434
×
×
  • Create New...