Provided by: manpages-fr-dev_3.27fr1.4-1_all bug

NOM

       qsort - Trier une table

SYNOPSIS

       #include <stdlib.h>

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

DESCRIPTION

       La  fonction  qsort() trie une table contenant nmemb elements de taille
       size. L'argument base pointe sur le debut de la table.

       Le contenu de la table est trie en ordre  croissant,  en  utilisant  la
       fonction  de  comparaison pointee par compar, laquelle est appelee avec
       deux arguments pointant sur les objets a comparer.

       La fonction de comparaison doit renvoyer un entier inferieur, egal,  ou
       superieur  a  zero  si le premier argument est respectivement considere
       comme inferieur, egal ou superieur au second.  Si  la  comparaison  des
       deux  arguments  renvoie  une egalite (valeur de retour nulle), l'ordre
       des deux elements est indefini.

VALEUR RENVOY'EE

       La fonction qsort() ne renvoie pas de valeur.

CONFORMIT'E

       SVr4, BSD 4.3, C89, C99.

NOTES

       Parmi les  routines  de  la  bibliotheque  utilisables  comme  argument
       compar,  on a alphasort(3) et versionsort(3). Pour comparer des chaines
       de caracteres C, la fonction de  comparaison  peut  appeler  strcmp(3),
       comme dans l'exemple ci-dessous.

EXEMPLE

       Pour un exemple d'utilisation, voir l'exemple de la page bsearch(3).

       Un  autre  exemple  d'utilisation est le programme ci-dessous, qui trie
       les chaines donnees sur la ligne de commande :

       #include <stdio.h>
       #include <stdlib.h>
       #include <string.h>

       static int
       cmpstringp(const void *p1, const void *p2)
       {
           /* Les arguments de cette fonction sont des "pointeurs de
              pointeurs sur des caracteres", mais les arguments de
              strcmp(3) sont des "pointeurs sur des caracteres", d'ou
              le forcage de type et l'utilisation de l'asterisque */

           return strcmp(* (char * const *) p1, * (char * const *) p2);
       }

       int
       main(int argc, char *argv[])
       {
           int j;

           if (argc < 2) {
            fprintf(stderr, "Usage: %s <string>...\n", argv[0]);
            exit(EXIT_FAILURE);
           }

           qsort(&argv[1], argc - 1, sizeof(argv[1]), cmpstringp);

           for (j = 1; j < argc; j++)
               puts(argv[j]);
           exit(EXIT_SUCCESS);
       }

VOIR AUSSI

       sort(1), alphasort(3), strcmp(3), versionsort(3)

COLOPHON

       Cette page fait partie de  la  publication  3.27  du  projet  man-pages
       Linux.  Une description du projet et des instructions pour signaler des
       anomalies      peuvent      etre       trouvees       a       l'adresse
       <URL:http://www.kernel.org/doc/man-pages/>.

TRADUCTION

       Depuis  2010,  cette  traduction est maintenue a l'aide de l'outil po4a
       <URL:http://po4a.alioth.debian.org/>   par   l'equipe   de   traduction
       francophone        au        sein        du       projet       perkamon
       <URL:http://perkamon.alioth.debian.org/>.

       Christophe Blaess  <URL:http://www.blaess.fr/christophe/>  (1996-2003),
       Alain  Portal  <URL:http://manpagesfr.free.fr/>  (2003-2006).   Nicolas
       Francois et l'equipe francophone de traduction de Debian (2006-2009).

       Veuillez  signaler  toute  erreur   de   traduction   en   ecrivant   a
       <debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
       paquet manpages-fr.

       Vous pouvez toujours avoir acces a la version anglaise de  ce  document
       en utilisant la commande << man -L C <section> <page_de_man> >>.

                               15 septembre 2009                      QSORT(3)