七種qsort排序法(附模板)

2021-06-01 17:25:09 字數 1323 閱讀 6217

七種qsort排序法

《本文中排序都是採用的從小到大排序》

其中的在c語言中qsort函式包含在的標頭檔案裡,strcmp包含在的標頭檔案裡。

一、對int型別陣列排序 

int num[n]; 

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

qsort(num,n,sizeof(num[0]),cmp);

二、對char型別陣列排序(同int型別)

char c[n]; 

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

qsort(c,n,sizeof(c[0]),cmp);

三、對double型別陣列排序(要特別注意)

double num[n];

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

qsort(num,n,sizeof(num[0]),cmp);

四、對結構體一級排序

struct stu

s[n];

/*按照data的值從小到大將結構體排序,關於結構體內的排序關鍵資料data的型別可

以很多種,參考上面的例子寫

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

qsort(s,n,sizeof(struct stu),cmp);

五、對結構體二級排序 

struct stu

s[n];

//按照x從小到大排序,當x相等時按照y從大到小排序

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

qsort(s,n,sizeof(s[0]),cmp);

六、對字串進行排序

struct str

s[n];

//按照結構體中字串c的字典順序排序

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

qsort(s,n,sizeof(s[0]),cmp);

七、計算幾何中求凸包的cmp

//重點cmp函式,把除了1點外的所有點,旋轉角度排序 

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

七種qsort排序方法

本文中排序都是採用的從小到大排序 一 對int型別陣列排序 int num 100 sample int cmp const void a const void b qsort num,100,sizeof num 0 cmp 二 對char型別陣列排序 同int型別 char word 100 s...

七種qsort排序方法

七種qsort排序方法 本文中排序都是採用的從小到大排序 一 對int型別陣列排序 int num 100 sample int cmp const void a const void b qsort num,100,sizeof num 0 cmp 二 對char型別陣列排序 同int型別 cha...

七種qsort排序方法

qsort 功 能 使用快速排序例程進行排序 要包含標頭檔案 include 用 法 void qsort void base,int nelem,int width,int fcmp const void const void 各引數 1 待排序陣列首位址 2 陣列中待排序元素數量 3 各元素的占...