c語言中的qsort方法的使用

2021-06-13 12:24:27 字數 1001 閱讀 4941

c語言類庫中自帶了快速排序演算法qsort。

用 法: void qsort(void *base,int nelem,int width,int (*fcmp)(const void *,const void *));

舉例說明:

1)一維的陣列排序-int a[1000]

qsort(a,1000,sizeof(int),comp);

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

2)二維的陣列排序-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)

3)字元陣列排序-char a[1000][20];

qsort(a,1000,sizeof(char)*20,comp);

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

4)結構體排序

typedef struct str

str;

str *strs;strs=(str *)malloc(sizeof(str)*10);

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

qsort(strs,10,sizeof(str),compare);

5)浮點數排序-double a[1000]

注:兩個double數是不可能相等的,只能說fabs(a-b)<1e-20之類的這樣來判斷

qsort(a,1000,sizeof(double),cmp);

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

C語言中的qsort函式

qsort函式可以實現一些型別的排序,目前先學習一部分淺顯的內容,如果以後有需要再深入 標頭檔案是 1 int型別的陣列排序 include includeint cmp const void a,const void b int main qsort num,8,sizeof num 1 cmp ...

C語言中qsort函式的應用

qsort函式包含在的標頭檔案裡,本文中排序都是採用的從小到大排序 int num 100 int cmp const void a const void b qsort num,100,sizeof num 0 cmp char word 100 int cmp const void a cons...

c語言qsort的使用

基於快速排序對陣列進行排序,陣列元素可以是結構體。qsort屬於內建函式,需要包含標頭檔案 stdlib.h void qsort void ptr,size t count,size t size,int comp const void const void void ptr 空指標,指向需要排序...