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);
:;
:;
}
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);
:;
:;
}