qsort

 

書式
void qsort(void *array,size_t n,size_t size,
  int(*comp)(const void *a,const void *b));

機能
要素数がn個で、各要素サイズがsizeのポインタarrayが指す配列を、ポインタcompが指す比較関数に従って整列。
関数compは昇順にする場合に「a<b,a=b,a>b」の時、それぞれ「負,0,正」の値を返すようにする。降順の時は戻り値の正負を逆にする。

戻り値
無し。

ヘッダーファイル
stdlib.h

 

使用例

int Comp(const void *at,const void *bt) {
  int a = *(int *)at;
  int b = *(int *)bt;
  return(a-b);
}
int main(void){
  int a[] = {1, 4, 2, 3, 8, 0, 6, 5, 7, 9};
  int n = sizeof(a)/sizeof(a[0]);
  qsort(a,n,sizeof(int),Comp);
  :;
  :;
}