C語言 qsort()的用法。

2021-10-17 03:12:01 字數 1819 閱讀 7582

使用qsort()函式,必須要引用#include

qsort(void* base, int sz, int width,int (* cmp)(void* e1,void* e2);

//base為要排列物件的起始位址;sz為要排列物件的總數;width為每個資料元素的寬度(位元組數);

cmp為排列的函式指標,指向函式形參(const void* e1,const void* e2);若e1>e2,返回值為正數;若e1

int

cmp_int

(const

void

* e1,

const

void

* e2)

void

test1()

//qsort()整型陣列的用法。

;int sz =

sizeof

(arr)

/sizeof

(arr[0]

);qsort

(arr, sz,

sizeof

(arr[0]

), cmp_int)

;for

(int i =

0; i < sz; i++

)printf

("\n");

}

int

cmp_float

(const

void

* e1,

const

void

* e2)

void

test2()

//qsort()整型陣列的用法。

;int sz =

sizeof

(arr)

/sizeof

(arr[0]

);qsort

(arr, sz,

sizeof

(arr[0]

), cmp_float)

;for

(int i =

0; i < sz; i++

)printf

("\n");

}

struct st

;int

cmp_struct

(const

void

* e1,

const

void

* e2)

intcmp_string

(const

void

* e1,

const

void

* e2)

void

test3()

//qsort()整型陣列的用法。,,

};int sz =

sizeof

(s)/

sizeof

(s[0])

;qsort

(s, sz,

sizeof

(s[0])

, cmp_struct)

;for

(int i =

0; i < sz; i++

)printf

("\n");

qsort

(s, sz,

sizeof

(s[0])

, cmp_string)

;for

(int i =

0; i < sz; i++

)}

執行結果如下:

C語言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 sample int cmp con...

C語言qsort的用法

關於快排函式的一些說明 qsort,包含在stdlib.h標頭檔案裡,函式一共四個引數,沒返回值.乙個典型的qsort的寫法如下 qsort s,n,sizeof s 0 cmp 其中第乙個引數是參與排序的陣列名 或者也可以理解成開始排序的位址,因為可以寫 s i 這樣的表示式,這個問題下面有說明 ...

C語言qsort的用法

轉!qsort,包含在stdlib.h標頭檔案裡,函式一共四個引數,沒返回值.乙個典型的qsort的寫法如下 qsort s,n,sizeof s 0 cmp 其中第乙個引數是參與排序的陣列名 或者也可以理解成開始排序的位址,因為可以寫 s i 這樣的表示式,這個問題下面有說明 第二個引數是參與排序...