関数名:qsort
ヘッダー ファイル: <stdlib.h>
関数プロトタイプ: void *qsort(void* District,size_t n,size_t m,
int (*fc)(const void*,const void*));
機能: レコードを小さいものから大きいものまで素早く並べ替えるのに使用されます。
パラメータ: void* District は、ソートする領域の開始アドレスを指します。
size_t n ソートする領域の要素の数
size_t m ソート対象領域の各要素のサイズ
int (*fc)(const void*,const void*) 2 つの要素のサイズを比較する関数ポインタ
戻り値: 戻り値なし
プログラム例: この関数を使用して、順序なしシーケンス arr を素早くソートします。
#include<stdio.h>#include<stdlib.h>typedefint(*fc)(constvoid*,constvoid*);intcompare(constvoid*p1,constvoid*p2){return(*(int*)p1)-(* (int*)p2);}intma in(void){inti,arr[10]={1,6,5,7,8,9,11,24,3,10};fcf=compare;qsort(arr,10,sizeof(int),f );for(i=0;i<10;i++){printf(%dt,arr[i]);}putchar('n');return0;}
走行結果
1356789101124