qsort 函式的使用

2021-06-11 17:53:22 字數 888 閱讀 1978

該函式是我在看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 指向函式...