七種
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( const void *a , const void *b )
qsort(word,100,sizeof(word[0]),cmp);
三、對double
型別陣列排序(特別要注意)
double in[100];
int cmp( const void *a , const void *b )
qsort(in,100,sizeof(in[0]),cmp)
;四、對結構體一級排序
struct in
s[100]
//按照
data
的值從小到大將結構體排序
,關於結構體內的排序關鍵資料
data
的型別可以很多種,參考上面的例子寫
int cmp( const void *a ,const void *b)
qsort(s,100,sizeof(s[0]),cmp);
五、對結構體二級排序
struct in
s[100];
//按照
x從小到大排序,當
x相等時按照
y從大到小排序
int cmp( const void *a , const void *b )
qsort(s,100,sizeof(s[0]),cmp);
六、對字串進行排序
struct in
s[100];
//按照結構體中字串
str的字典順序排序
int cmp ( const void *a , const void *b )
qsort(s,100,sizeof(s[0]),cmp);
七、計算幾何中求凸包的
cmp
int cmp(const void *a,const void *b) //
重點cmp
函式,把除了
1點外的所有點,旋轉角度排序
ps:
其中的qsort
函式包含在
的標頭檔案裡,
strcmp
包含在的標頭檔案裡
qsort 函式之快速排序
qsort 函式是ansi c標準中提供的,在標頭檔案中 是根據二分法寫的,時間複雜度為 n log n 原型 void qsort void base,size t nelem,size t width,cmp base 為要排序的陣列 nelem 為排序陣列的長度 width 為陣列元素的大小 ...
qsort 使用快速排序例程進行排序
qsort 功 能 使用快速排序例程進行排序 用 法 void qsort void base,int nelem,int width,int fcmp const void const void 用於確定排序的順序 排序方法有很多種,選擇排序,氣泡排序,歸併排序,快速排序等。看名字都知道快速排序 ...
C語言快速排序函式qsort
標頭檔案 include 函式原型 void qsort void base,size t nmemb,size t size,int compar const void const void 引數介紹 引數size 表示該陣列中每個元素的大小 位元組數 通常sizeof int 引數 compar...