使用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 這樣的表示式,這個問題下面有說明 第二個引數是參與排序...