Provided by: manpages-fr-dev_3.32d0.2p4-1_all bug

NOM

       qsort - Trier un tableau

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 un tableau contenant nmemb éléments de taille size. L'argument
       base pointe sur le début du tableau.

       Le contenu du tableau est trié en ordre croissant, en utilisant la fonction de comparaison
       pointée  par  compar,  laquelle  est appelée avec deux arguments pointant sur les objets à
       comparer.

       La fonction de comparaison doit renvoyer un entier inférieur, égal, ou supérieur à zéro si
       le  premier  argument  est  respectivement considéré comme inférieur, égal ou supérieur au
       second. Si la comparaison des deux arguments renvoie une égalité (valeur de retour nulle),
       l'ordre des deux éléments est indéfini.

VALEUR RENVOYÉE

       La fonction qsort() ne renvoie pas de valeur.

CONFORMITÉ

       SVr4, BSD 4.3, C89, C99.

NOTES

       Parmi les routines de la bibliothèque utilisables comme argument compar, on a alphasort(3)
       et versionsort(3). Pour comparer des chaînes de caractères 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 chaînes données
       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 caractères", mais les arguments de
              strcmp(3) sont des "pointeurs sur des caractères", d'où
              le forçage de type et l'utilisation de l'astérisque */

           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.32 du projet man-pages Linux.  Une  description
       du  projet  et  des  instructions  pour  signaler  des  anomalies  peuvent être trouvées à
       l'adresse <URL:http://www.kernel.org/doc/man-pages/>.

TRADUCTION

       Depuis   2010,   cette   traduction   est   maintenue   à   l'aide   de    l'outil    po4a
       <URL:http://po4a.alioth.debian.org/>  par  l'équipe  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 François et l'équipe francophone de
       traduction de Debian (2006-2009).

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

       Vous pouvez toujours avoir accès à la version anglaise de  ce  document  en  utilisant  la
       commande « man -L C <section> <page_de_man> ».

                                        15 septembre 2009                                QSORT(3)