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

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)