標頭檔案:#include
函式原型:
void
qsort
(void
*base,
size_t nmemb,
size_t size,
int(
*compar)
(const
void*,
const
void*)
);
引數介紹:
引數size:
表示該陣列中每個元素的大小(位元組數),通常sizeof(int)
引數(*compar)(const void *, const void *) :
為指向比較函式的函式指標,決定了排序的順序。(預設從小到大)
用法示例:
輸入:
第一行輸入乙個n表示元素的個數
第二行輸入n個數,用空隔開
輸出:輸出n個數從小到大排序的結果
#include
#include
int a[
10005];
intcmp
(const
void
* a,
const
void
* b)
intmain()
return0;
}
函式預設從小到大排序,如果要求從大到小怎麼辦???
做法:只需將cmp函式返回值取反即可
int
cmp(
const
void
* a,
const
void
* b)
不僅如此起始sqort()還可以直接在選定的區間以內排序
比如我們實現將a[1]~a[9]之間的元素從小到大排序,只需將qsort()改為
qsort
(a+1
,n-2
,sizeof
(int
), cmp)
;
qsort 也適用浮點型資料
#include
#include
float a[
10005];
intcmp
(const
void
* a,
const
void
* b)
intmain()
return0;
}
C語言快速排序函式qsort
qsor函式的結構 qsort nums,numssize,sizeof int cmp nums 陣列的首位址 numssize 陣列中的元素個數 sizeof of 陣列中每個元素的位元組長度 cmp 排序方式 關於cmp有兩種形式 1.遞增 int cmp const void a,const...
C語言快速排序函式 qsort
include include include include typedef struct inin typedef struct char char 對字串排序函式 int ptr 7 const void a,const void b 結構體一級排序函式 int ptr 5 const voi...
qsort 函式之快速排序
qsort 函式是ansi c標準中提供的,在標頭檔案中 是根據二分法寫的,時間複雜度為 n log n 原型 void qsort void base,size t nelem,size t width,cmp base 為要排序的陣列 nelem 為排序陣列的長度 width 為陣列元素的大小 ...