Provided by:
manpages-fr-dev_3.32d0.2p4-1_all 
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 elements de taille
size. L'argument base pointe sur le debut du tableau.
Le contenu du tableau 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.32 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)