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 空指標,指向需要排序...