C語言中qsort函式用法

2022-08-12 17:30:14 字數 4477 閱讀 4659

最近在刷pat時c語言中qsort函式的使用極多,所以在這裡總結整理了一下,需要的朋友可以參考下。

具體樣例

參考博文

void qsort(void * base,size_t nmemb,size_t size ,int(*compar)(const void *,const void *));
引數說明:

c語言中的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 ,

const

void

*b )

qsort

(word,

100,

sizeof

(word[0]

),cmp)

;

double in[

100]

;int

cmp(

const

void

*a ,

const

void

*b )

qsort

(in,

100,

sizeof

(in[0]

),cmp)

;

struct node

s[100

];

struct node

s[100];

intcmp

(const

void

*a ,

const

void

*b)qsort

(s,100

,sizeof

(s[0])

,cmp)

;

struct node

s[100];

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

intcmp

(const

void

*a ,

const

void

*b )

qsort

(s,100

,sizeof

(s[0])

,cmp)

;

char am =,,

....

.};//根據字串首字母排序

intcmp

(const

void

*a,const

void

*b)qsort

(a, m,

sizeof

(char*)

* n, cmp)

;char am =,,

....

.};//根據字串長度排序

intcmp

(const

void

*a,const

void

*b)qsort

(a, m,

sizeof

(char*)

* n, cmp)

;char am =,,

....

.};//按照結構體中字串str的字典順序排序

intcmp

(const

void

*a,const

void

*b)qsort

(a, m,

sizeof

(char*)

* n, cmp)

;

int

cmp(

const

void

*a,const

void

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

#include

#include

#define l 20

intcmp

(const

void

*a,const

void

*b)int main ();

qsort

(a, l,

sizeof

(int

), cmp)

;for

(int i =

0; i < l; i++

)}

#include

#include

#define l 20

intcmp

(const

void

*a,const

void

*b)int main ();

qsort

(a, l,

sizeof

(double

), cmp)

;for

(int i =

0; i < l; i++

)}

#include

#include

#define l 20

intcmp

(const

void

*a,const

void

*b)int main ();

qsort

(a, l,

sizeof

(char

), cmp)

;for

(int i =

0; i < l; i++

)}

#include

#include

#define l 10

#define k 10

intcmp

(const

void

*a,const

void

*b)int main ();

qsort

(a, l,

sizeof

(char

)* k, cmp)

;for

(int i =

0; i < l; i++

)}

#include

#include

#include

#define l 10

#define k 10

intcmp

(const

void

*a,const

void

*b)int main ();

qsort

(a, l,

sizeof

(char

)* k, cmp)

;for

(int i =

0; i < l; i++

)}

#include

#include

#include

#define l 10

#define k 10

intcmp

(const

void

*a,const

void

*b)int main ();

qsort

(a, l,

sizeof

(char

)* k, cmp)

;for

(int i =

0; i < l; i++

)}

#include

#include

#include

#define l 10

typedef

struct node node;

intcmp

(const

void

*a,const

void

*b)int main ();

qsort

(arr, l,

sizeof

(node)

, cmp)

;for

(int i =

0; i < l; i++

)}

C語言中qsort函式的用法例項詳解

c語言中qsort函式的用法例項詳解 快速排序是一種用的最多的排序演算法,在c語言的標準庫中也有快速排序的函式,下面說一下詳細用法。qsort函式包含在中 qsort函式宣告如下 void qsort void base,size t nmemb,size t size int compar con...

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...