Provided by:
manpages-de-dev_0.10-1_all 
BEZEICHNUNG
qsort - ein Feld sortieren
"UBERSICHT
#include <stdlib.h>
void qsort(void *basis, size_t nmemb, size_t groesse,
int(*vergleich)(const void *, const void *));
BESCHREIBUNG
Die Funktion qsort() sortiert ein Feld mit nmemb Elementen der GroBe
groesse. Das Argument basis zeigt auf den Anfang des Feldes.
Die Inhalte des Feldes werden in aufsteigender Reihenfolge sortiert,
bezogen auf eine Vergleichsfunktion, auf die vergleich zeigt. Diese
wird mit zwei Argumenten aufgerufen, die auf die zu vergleichenden
Objekte zeigen.
Die Vergleichsfunktion muss eine Ganzzahl zuruckgeben, die kleiner,
gleich oder groBer Null ist, je nachdem, ob das erste Argument kleiner,
gleich oder groBer als das zweite ist. Wenn zwei Inhalte des Feldes
gleich sind, ist ihre Reihenfolge unbestimmt.
R"UCKGABEWERT
Die Funktion qsort() gibt keinen Wert zuruck.
KONFORM ZU
SVr4, 4.3BSD, C89, C99.
ANMERKUNGEN
Bibliotheksroutinen, die als Argument vergleich brauchbar sind,
schlieBen alphasort(3) und versionsort(3) ein. Um C-Zeichenketten zu
vergleichen, rufen Sie strcmp(3 auf, wie es im folgenden Beispiel
gezeigt wird.
BEISPIEL
Ein Beispiel fur den Gebrauch finden Sie unter bsearch(3).
Ein weiteres Beispiel ist das folgende Programm, das Zeichenketten
sortiert, die als Befehlszeilen-Argumente ubergebenen werden:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
static int
cmpstringp(const void *p1, const void *p2)
{
/* Die tatsachlichen Argumente dieser Funktion sind >>Zeiger auf
Zeiger auf char<<, strcmp(3)-Argumente sind aber >>Zeiger auf
char<<, daher wird im Folgenden umgewandelt und zuruckverfolgt*/
return strcmp(* (char * const *) p1, * (char * const *) p2);
}
int
main(int argc, char *argv[])
{
int j;
if (argc < 2) {
fprintf(stderr, "Aufruf: %s <Zeichenkette>...\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);
}
SIEHE AUCH
sort(1), alphasort(3), strcmp(3), versionsort(3)
KOLOPHON
Diese Seite ist Teil der Veroffentlichung 3.32 des Projekts
Linux-man-pages. Eine Beschreibung des Projekts und Informationen, wie
Fehler gemeldet werden konnen, finden sich unter
http://www.kernel.org/doc/man-pages/.
"UBERSETZUNG
Die deutsche Ubersetzung dieser Handbuchseite wurde von Patrick Rother
<krd@gulu.net> und Chris Leick <c.leick@vollbio.de> erstellt.
Diese Ubersetzung ist Freie Dokumentation; lesen Sie die GNU General
Public License Version 3 oder neuer bezuglich der Copyright-
Bedingungen. Es wird KEINE HAFTUNG ubernommen.
Wenn Sie Fehler in der Ubersetzung dieser Handbuchseite finden,
schicken Sie bitte eine E-Mail an <debian-l10n-
german@lists.debian.org>.
15. September 2009 QSORT(3)