《本文中排序都是採用的從小到大排序》
qsort 包含在標頭檔案 #include
qsort ( 哪個 , 長度 , 大小, cmp)
一、對int型別陣列排序
[cpp]view plain
copy
print?
intnum[100];
intcmp (
const
void
*a ,
const
void
*b )
qsort(num,100,sizeof
(num[0]),cmp);
二、對char型別陣列排序(同int型別)
[cpp]view plain
copy
print?
char
word[100];
intcmp(
const
void
*a ,
const
void
*b )
qsort(word,100,sizeof
(word[0]),cmp);
三、對double型別陣列排序(特別要注意)
[cpp]view plain
copy
print?
double
in[100];
intcmp(
const
void
*a ,
const
void
*b )
qsort(in,100,sizeof
(in[0]),cmp);
四、對結構體一級排序
[cpp]view plain
copy
print?
struct
in
s[100]
//按照data的值從小到大將結構體排序,關於結構體內的排序關鍵資料data的型別可以很多種,參考上面的例子寫
intcmp(
const
void
*a ,
const
void
*b)
qsort(s,100,sizeof
(s[0]),cmp);
五、對結構體二級排序
[cpp]view plain
copy
print?
struct
in
s[100];
//按照x從小到大排序,當x相等時按照y從大到小排序
intcmp(
const
void
*a ,
const
void
*b )
qsort(s,100,sizeof
(s[0]),cmp);
六、對字串進行排序
[cpp]view plain
copy
print?
struct
in
s[100];
//按照結構體中字串str的字典順序排序
intcmp (
const
void
*a ,
const
void
*b )
qsort(s,100,sizeof
(s[0]),cmp);
七、計算幾何中求凸包的cmp
[cpp]view plain
copy
print?
intcmp(
const
void
*a,const
void
*b)
//重點cmp函式,把除了1點外的所有點,旋轉角度排序
例:[cpp]view plain
copy
print?
#include
#include
#define m 100
typedef
struct
data
data;
intcmp(
const
void
*a,const
void
*b)
intmain()
return
0;
}
七種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 s...
七種qsort排序方法
七種qsort排序方法 本文中排序都是採用的從小到大排序 一 對int型別陣列排序 int num 100 sample int cmp const void a const void b qsort num,100,sizeof num 0 cmp 二 對char型別陣列排序 同int型別 cha...
七種qsort排序方法
qsort 功 能 使用快速排序例程進行排序 要包含標頭檔案 include 用 法 void qsort void base,int nelem,int width,int fcmp const void const void 各引數 1 待排序陣列首位址 2 陣列中待排序元素數量 3 各元素的占...