
qsort

㭪             ,   ਬ       
                   ஢.

⠪          #include<stdlib.h>
                   void qsort(void *base, size_t nelem, size_t width,
                             int(*fcmp)(const void *, const void *));

, ᮤঠ騩   stdlib.h
⨯


ᠭ           㭪 qsort     ਬ        ன
                   ஢  "।    ".   㭪   qsort
                     ᮤন  ⠡  ﭭ  뢠
                   㭪 ࠢ,  ।塞  짮⥫  
                   㥬   㪠⥫ fcmp.

                   - base   (㫥 ) 㥬
                     ⠡.

                   - nelem - ᫮ ⮢ ⠡;

                   - width - ࠧ   ⠡  -
                     .

                   㭪 *fcmp - 㭪 ࠢ -  砥  
                   㬥  elem1    elem2,    ।⠢
                   ᮡ  㪠⥫  2  ⠡. 㭪
                   ࠢ   *fcmp   ࠢ     ᮡ  
                   㥬  ⠡ (*elem1    *elem2)  
                   頥    ᨬ  १ ࠢ
                   楫 ᫮.

                   ᫨ :        *fcmp 頥:
                   
                   *elem1<*elem2          楫 <0
                   *elem1==*elem2         0
                   *elem1>elem2           楫 >0
                   

                    ࠢ  ᨬ ",  祬" (<) 砥,
                             ஢   
                     ।  ࠢ  㬥⮬.  筮,
                   ᨬ ",  祬" (>) 砥,      
                   ஢        ᫥
                   ࠢ.

頥       .
祭

७ᨬ      㭪 ন  ⥬ UNIX  ⠭-
                   ⮬ ANSI C.

 ⠪     bsearch, lsearch.

ਬ:

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

int sort_function(const void *a,const void *b);

char list[5][4] = {"cat", "car", "cab", "cap", "can"};

int main(void)
{
int x;
qsort((void *)&list, 5, sizeof(list[0]), sort_function);
for(x=0; x<5, x++)
    printf("%s\n",list[x]);
}

int sort_function(const void *a,const void *b)
{
   return(strcmp(a,b));
}


뢮:
cab
can
cap
car
cat

