previous next Up Title Contents Index

qsort()

qsort()-funktion prototyyppi, joka määritellään stdlib.h:ssa on seuraava:

   void qsort ( void *base, 
                size_t num, 
                size_t size, 
                int (*compare)(const void *,const void *));

        base = lajiteltavan taulukon osoite
        num = taulukon alkioiden lukumäärä
        size = taulukon alkion koko tavuina
        compare = pointteri funktioon, joka suorittaa kahden alkion vertailun; sen on oltava muotoa:

   int funktion_nimi (const void *arg1, const void *arg2) 

        ja se palauttaa kokonaislukuarvon, joka

        <0,     kun *arg1 < *arg2
        =0,     kun *arg1 == *arg2
        >0,     kun *arg1 > *arg2

qsort() kutsuu lajittelun kestäessä parametrina välitettyä funktiota useaan kertaan välittäen sille aina kahden vertailtavan tiedon osoitteet. Vertailufunktio tietää, mihin lajittelu perustuu ja osaa näin ollen palauttaa qsort():lle tiedon järjestyksestä. On huomattava, että qsort() ei tiedä lajiteltavan taulukon alkioista mitään muuta kuin niiden koon.

previous next Up Title Contents Index