qsort函式簡介
功 能: 使用快速排序例程進行排序
用 法: void qsort(void *base,int nelem,int width,int (*fcmp)(const void *,const void *));
引數:1 待排序
陣列首位址 2 陣列中待排序元素數量 3 各元素的占用空間大小 4 指向函式的
指標,用於確定排序的順序
使用qsort()排序並 用 bsearch()搜尋是乙個比較常用的組合,使用方便快捷。
qsort 的函式原型是void __cdecl qsort (void *base,size_t num,size_t width,
int (__cdecl *comp)(const void *,const void*))
其中base是排序的乙個集合陣列,num是這個陣列元素的個數,
width是乙個元素的大小,compare_integers是乙個比較函式。
比如:對乙個長為1000的
陣列進行排序時,int a[1000]; 那麼base應為a,num應為 1000,
width應為 sizeof(int),compare_integers函式隨自己的命名。
qsort(a, 1000, sizeof(int), compare_integers);
其中compare_integers函式應寫為:
int compare_integers(void const *a, void const *b)
或者:qsort(array, n_values, sizeof(int), compare_integers);
int compare_integers(void const *a, void const *b)
上面是由小到大排序,return *(int *)b-*(int *)a; 為由大到小排序。
是對乙個
二維陣列的進行排序:
int a[1000][2]; 其中按照a[0]的大小進行乙個整體的排序,其中a[1]必須和a[0]一起移動交換。
qsort(a, 1000, sizeof(int)*2, comp);
int comp(const void *a, const void *b)
qsort 函式的使用
該函式是我在看x264 中關於參考幀列表的排序接觸到的,總結於此,以作備忘。功 能 使用快速排序例程進行排序 原 型 void qsort void base,int nelem,int width,int fcmp const void const void 2.陣列中待排序元素數量 3.各元素的...
C 使用qsort函式
qsort是乙個需要配合compare函式來使用的,用來排序的函式。使用順序為 qsort 待排序陣列首位址,陣列中待排序元素數量 各元素的占用空間大小 指向函式的指標 例如qsort stu1,size1,sizeof elemtype cmp stu1是陣列,size是數量,cmp是個函式,co...
qsort函式和bsearch函式的使用
1.qsort排序 qsort example include include int values int compare const void a,const void b int main output 10 20 25 40 90 100 2.bsearch查詢 bsearch exampl...