該函式是我在看x264**中關於參考幀列表的排序接觸到的,總結於此,以作備忘。
功 能: 使用快速排序例程進行排序
原 型: void qsort(void *base,int nelem,int width,int (*fcmp)(const void *,const void *));
2. 陣列中待排序元素數量
3. 各元素的占用空間大小
4. 指向函式的指標,用於確定排序的順序
下面給出對一維int型陣列進行排序的例項,其它資料型別的陣列排序原理相同,不重複給出例子了。
#include #include //!< 這個是qsort所在的標頭檔案
int cmp_desc(const void *a, const void *b) //!< 降序
int cmp_asc(const void *a, const void *b) //!< 公升序
int main()
; qsort(aa, 10, sizeof(int), cmp_desc);
printf("降序排序!\n");
for (int i = 0; i< 10; i++)
printf("%d\t", aa[i]);
printf("公升序排序!\n");
qsort(aa, 10, sizeof(int), cmp_asc);
for (int i = 0; i< 10; i++)
printf("%d\t", aa[i]);
return 0;
}
下圖給出執行結果:
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...
雜記之函式qsort的使用
qsort函式簡介 功 能 使用快速排序例程進行排序 用 法 void qsort void base,int nelem,int width,int fcmp const void const void 引數 1 待排序 陣列首位址 2 陣列中待排序元素數量 3 各元素的占用空間大小 4 指向函式...