C語言 qsort函式

2021-06-08 23:36:40 字數 761 閱讀 8359

c程式使用標準庫函式qsort排序整數檔案

#include #include #include #include #define max 10  

int int_cmp(const void *a, const void *b)

int main()

while(!feof(fp))

length--;

fclose(fp);

qsort(num, length, sizeof(int), int_cmp);

if((fp = fopen("text1_qsort", "wb")) == null)

while(i < length)

fprintf(fp, "%d\n", num[i++]);

fclose(fp);

return 0;

}

注意:a)qsort函式  qsort(num, length, sizeof(int), int_cmp);

num是指向陣列的指標,length是陣列長度,sizeof(int)是陣列元素大小,int_cmp是指向函式的指標

函式說明:void qsort(void *base, size_t n, size_t size, int (*cmp)(const void *, const void *))

b)qsort函式中使用的int_cmp函式

int int_cmp(const void *a, const void *b)

C語言qsort函式詳解

qsort函式是ansi c標準中提供的,其宣告在stdlib.h檔案中,是根據二分發寫的,其時間複雜度為n log n 其結構為 void qsort void base,size t nelem,size t width,int comp const void const void 其中 bas...

C語言解讀qsort函式

c語言中有乙個快速排序的標準庫函式 qsort 在stdlib.h 中宣告。定義如下 void qsort void base,int nelem,unsigned int width,int pfcompare const void const void 引數解讀 base是待排序陣列的起始位址 ...

C語言的qsort函式

qsort 看起來和c 的sort 差不多,但是其實差別很大,qsort的cmp函式,傳入的是指標,返回值是int sort的則傳入值,返回值是bool 當qsort的返回值是0時,陣列的順序可能發生改變,這帶來了不確定性 當有不改變相同大小元素的順序時,需要對cmp函式做出調整 qsort的cmp...