qsort使用練習

2021-10-12 12:49:41 字數 2043 閱讀 5713

第一次嘗試

#include

#include

#include

#define max 10

#define max_c 4

//void cmp_int(const void* _a,const void* _b)

//上面為規範寫法,下面是我理解覺得可以通過編譯的

//整型

intcmp_int

(int

* a,

int* b)

//浮點型

intcmp_double

(double

* a,

double

* b)

//字元型

intcmp_char

(char

* a,

char

* b)

//字串型

intcmp_str

(char

(* a)

,char

(* b)

)int

main()

;qsort

(arr_int, max,

sizeof

(arr_int[0]

), cmp_int)

;for

(int i =

0; i < max; i++

)printf

("\n");

//浮點型

double arr_double[max]=;

qsort

(arr_double, max,

sizeof

(arr_double[0]

), cmp_double)

;for

(int i =

0; i < max; i++

)printf

("\n");

//字元型

char arr_char[max]=;

qsort

(arr_char, max,

sizeof

(arr_char[0]

), cmp_char)

;for

(int i =

0; i < max; i++

)printf

("\n");

//字串型

char arr_str[max_c]

[max_c]=;

qsort

(arr_str, max_c,

sizeof

(arr_str[0]

), cmp_str)

;for

(int i =

0; i < max_c; i++

)printf

("\n");

return0;

}

練習使用庫函式快速排序——qsort

void

qsort

(void

* base,size_t num,size_t width,

int(__cdecl*compare)

(const

void*,

const

void*)

);

待排序陣列,排序之後的結果仍放在這個陣列中

陣列中待排序元素數量

各元素的占用空間大小(單位為位元組)

指向函式的指標,用於確定排序的順序(需要使用者自定義乙個比較函式)

qsort 要求提供乙個自己定義的比較函式。比較函式使得qsort通用性更好,有了比較函式,qsort 可以實現對陣列、字串、結構體等結構進行公升序或降序排序,如比較函式:

int

cmp(

const

void

*a,const

void

*b)

這其中有兩個元素作為引數(引數的格式不能變),返回乙個int值,比較函式 cmp 的作用就是給 qsort 指明元素的大小是怎麼比較的。

發表於 2020-11-16 20:35

c語言qsort的使用及練習

三.模擬實現 routine required header compatibility qsortandansi,win 95,win nt 用法 void qsort void base,size t num,size t width,int cdecl compare const void e...

qsort 函式的使用

該函式是我在看x264 中關於參考幀列表的排序接觸到的,總結於此,以作備忘。功 能 使用快速排序例程進行排序 原 型 void qsort void base,int nelem,int width,int fcmp const void const void 2.陣列中待排序元素數量 3.各元素的...

qsort使用方法

在c 中qsort 排序函式的使用 qsort函式應用大全 七種qsort排序方法 本文中排序都是採用的從小到大排序 一 對int型別陣列排序 int num 100 sample int cmp const void a const void b qsort num,100,sizeof num ...