qsort 快排函式(C語言)

2022-09-11 08:15:08 字數 781 閱讀 9203

void qsort(void *base, size_t nitems, size_t size, int (*compar)(const void *, const void*)) ;
#include
nitems :陣列中元素的個數。

size:陣列每個元素的大小(以位元組為單位)。

compar:比較函式。引數是乙個指標,指向比較函式。

無返回值。

int cmp(const void* a, const void* b);//const void * :是乙個萬能的指標,可以強制轉化成為任意型別的指標。

//我們在編寫函式的時候應該將這兩個引數強制轉化為我們需要的型別

返回值為 int 型別。

如果為負數則*a 在 *b之前。

如果返回值為正則*a 在 *b 之後

如果為0,不定。

#include#includeint cmp(const void* a, const void* b)//const void* a是指所指向的值*a不可以改變,而a就是乙個指標變數。

int main()

; qsort(t, 10, sizeof(int), cmp);

for (int i = 0;i < 10;i++)

printf("%d ", t[i]);

}

1 1 2 3 4 6 7 7 8 9

C語言快排函式qsort

原本以為c語言中的快排函式都要靠自己去實現,今天才知道,原來qsort就是c語言中的快排函式,包含在stdlib.h標頭檔案中,函式一共有四個引數,沒有返回值。int cmp const void const void qsort s,n,sizeof s 0 cmp 其中第乙個引數s是乙個位址,即...

c語言之qsort(快排)

1.先看函式原型 void qsort void base,size t nitems,size t size,int compar const void const void 引數描述 1.1.base 指向要排序的陣列的第乙個元素的指標。2.nitems 由 base 指向的陣列中元素的個數。3...

C語言快排qsort 的心得

void qsort void base,size t nmemb,size t size int compar const void const void 要傳引數分別是 要排序的首字母位址,需要排序的個數,每個數個大小,指向函式的指標 用來確定公升序還是降序 如 int型 int common ...