Provided by: manpages-de-dev_0.10-1_all bug

BEZEICHNUNG

       qsort - ein Feld sortieren

ÜBERSICHT

       #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 Größe 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 zurückgeben, die  kleiner,  gleich  oder  größer
       Null  ist,  je  nachdem,  ob das erste Argument kleiner, gleich oder größer als das zweite
       ist. Wenn zwei Inhalte des Feldes gleich sind, ist ihre Reihenfolge unbestimmt.

RÜCKGABEWERT

       Die Funktion qsort() gibt keinen Wert zurück.

KONFORM ZU

       SVr4, 4.3BSD, C89, C99.

ANMERKUNGEN

       Bibliotheksroutinen, die als Argument vergleich brauchbar sind, schließen 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 für den Gebrauch finden Sie unter bsearch(3).

       Ein weiteres Beispiel ist das folgende  Programm,  das  Zeichenketten  sortiert,  die  als
       Befehlszeilen-Argumente übergebenen werden:

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

       static int
       cmpstringp(const void *p1, const void *p2)
       {
           /* Die tatsächlichen Argumente dieser Funktion sind »Zeiger auf
              Zeiger auf char«, strcmp(3)-Argumente sind aber »Zeiger auf
              char«, daher wird im Folgenden umgewandelt und zurückverfolgt*/

           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  Veröffentlichung  3.32  des  Projekts  Linux-man-pages. Eine
       Beschreibung des Projekts und Informationen, wie Fehler  gemeldet  werden  können,  finden
       sich unter http://www.kernel.org/doc/man-pages/.

ÜBERSETZUNG

       Die  deutsche Übersetzung dieser Handbuchseite wurde von Patrick Rother <krd@gulu.net> und
       Chris Leick <c.leick@vollbio.de> erstellt.

       Diese Übersetzung ist Freie Dokumentation;  lesen  Sie  die  GNU  General  Public  License
       Version   3  oder  neuer  bezüglich  der  Copyright-Bedingungen.  Es  wird  KEINE  HAFTUNG
       übernommen.

       Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-
       Mail an <debian-l10n-german@lists.debian.org>.

                                        15. September 2009                               QSORT(3)